Features

Everything you need to code professionally on iOS. Advanced editor features, comprehensive language support, and the most complete Git version control available on mobile.

Core Capabilities

Editor Features

Professional-grade editing tools optimized for mobile development.

Feature Description
Unicode support Code in any language supported by iOS
Editor features
  • Split View and Slide Over
  • Tabs (edit multiple files)
  • Built In Terminal (SSH Client)
  • Multiple terminals in tabs
  • Dark and light mode
  • Extended keyboard
  • Auto-complete code
  • Auto-indent
  • Auto-complete quotes
  • Auto-complete brackets
  • Automatically go into edit mode
  • Navigation arrows
  • Expand tabs (soft / hard tabs)
  • Tab spacing
  • Display tab characters
  • Display space characters
  • Display newline characters
  • Font and font size
  • Line numbers
  • Line spacing/height
  • Highlight current line
  • Highlight matching brackets "[, {, ("
  • Show Inverse Cursor(vim mode)
  • Fullscreen mode
  • Escape key will toggle between insert and Vim mode (when using your Bluetooth keyboard)
  • Many syntax themes to choose from
  • Many fixed-width fonts to choose from
  • iOS Files app support
  • "Open from" iOS Files app (Link external folders and open multiple files)
  • iOS "Open In" support, from Buffer Editor to other app - vice versa
  • Preview your files in safari with "Preview in Safari" function
  • Send files by email
  • File search
  • Find & Replace (including regular expression search)
  • Upload/Download Files
  • Edit files directly on your server without download/upload
  • Auto save with interval
  • Word wrapping
  • Touch/Face ID protection
Light and dark themes In addition to many light and dark themes, the keyboard (and status bar while in fullscreen mode) will automatically change depending on the syntax theme you select.
Export options Export your code to another app, e-mail a file to another developer or use the universal paste board to copy/paste content from any app to/from the Buffer Editor app.
Connectivity

Supported Services

Connect to your favorite services and work seamlessly across platforms.

Service Description
BitBucket Git repository hosting service. Supported commands: Branch, Clone, Commit, Push, Pull. Learn more about BitBucket at bitbucket.org. Note: Mercurial is not supported.
GitHub Git repository hosting service. Supported commands: Branch, Clone, Commit, Push, Pull. Learn more about GitHub at github.com.
GitLab Git repository hosting service. Supported commands: Branch, Clone, Commit, Push, Pull. Learn more about GitLab at gitlab.com.
Custom Git Git repository hosting service. Should be used with git providers other than GitHub, GitLab and BitBucket. Supported commands: Branch, Clone, Commit, Push, Pull.
Dropbox A cloud sharing service. Learn more about Dropbox at dropbox.com.
iCloud Documents A cloud sharing service by Apple.
iCloud Drive Link folders or open files from iCloud Drive with the "open from" function via iOS files
iOS Files Access any files supported by the iOS Files app
Google Drive A cloud sharing service by Google.
FTP Allows you to work with files on a FTP server.
SSH Allows you to work with files, over an encrypted connection, on any machine that has a SSH server installed. Built In Terminal (SSH Client)
SFTP Allows you to work with files, over an encrypted connection, on any machine that has a SFTP server installed.
Version Control

Complete Git Features

The most comprehensive Git client on iOS. Professional-grade version control with features typically found only in desktop applications.

Feature Description
Core Git Operations
  • Clone repositories from GitHub, GitLab, Bitbucket, and any Git server
  • HTTPS and SSH authentication - passwords, tokens, or SSH keys
  • Push & Pull with progress tracking
  • Fetch remote changes without merging
  • Force push support for advanced workflows
Commits & Staging
  • Stage files individually or all at once
  • Unstage files before committing
  • Commit with messages - full multi-line support
  • Amend last commit - fix mistakes without creating new commits
  • View complete commit history with author, date, and message
  • Parent commit navigation
  • Copy commit SHA for reference
Branch Management
  • Create branches from any commit
  • Switch branches instantly
  • Delete branches (local and remote)
  • Merge branches with conflict detection
  • Rebase current branch
  • Rename branches
  • Track remote branches
  • Visual branch comparison
Worktrees
  • Multiple working directories from a single repository
  • Work on different branches simultaneously
  • Perfect for comparing implementations or hotfixes
  • Worktrees appear as sub-cells under parent repository
  • Full Git functionality in each worktree
Stash
  • Stash changes to save work in progress
  • Pop or apply stashes when ready
  • Drop stashes you no longer need
  • View stash contents before applying
  • Named stashes for easy identification
Tags
  • Create tags for releases and milestones
  • Annotated tags with messages
  • Lightweight tags for quick bookmarks
  • Push tags to remote
  • Push all tags at once
  • Delete tags locally and remotely
Remotes
  • Multiple remotes per repository
  • Add, edit, and remove remote URLs
  • Fetch from specific remotes
  • View remote branches
  • Fetch all remotes at once
Git Diff
  • Unified diff view with syntax highlighting
  • Side-by-side comparison
  • File change statistics (additions/deletions)
  • Navigate between hunks
  • Zoom support for detailed inspection
Image Diff Viewer
  • Side-by-side synchronized scrolling
  • Slider overlay comparison
  • Onion skin blending
  • Pixel difference highlighting
Git Blame
  • Line-by-line attribution - see who changed what
  • Jump to commit from any blamed line
  • Author and date for every line
  • Filter by author
  • Search within blamed file
Reflog
  • View reference history - recover "lost" commits
  • Branch movement tracking
  • HEAD history
  • Every checkout, commit, reset recorded
Pull Requests
  • List pull requests - open, closed, merged
  • Create pull requests with title and description
  • View PR details including diff and commits
  • Merge pull requests - merge, squash, or rebase
  • Close pull requests without merging
  • Full support for GitHub, GitLab, and Bitbucket
Repository Browser
  • Browse your repositories from GitHub/GitLab/Bitbucket
  • Search repositories across platforms
  • View starred repositories
  • Organization repositories support
  • Create new repositories - public or private
  • Fork repositories to your account
  • Delete repositories with confirmation
  • Clone directly from browser
Submodules
  • View submodules in repository
  • Browse submodule contents
  • Submodule status tracking
  • Credential inheritance from parent repo
  • Add, update, and sync submodules
Advanced Operations
  • Reset - Soft, Mixed, or Hard
  • Cherry-pick commits from other branches
  • Revert commits safely
  • Clean untracked files
  • Discard changes - revert modified files
  • Checkout files from specific commits
  • Edit .gitignore patterns
  • Compare branches side-by-side
Authentication & Security
  • SSH keys - Ed25519, RSA, ECDSA support
  • Import existing keys
  • Passphrase-protected keys support
  • Multiple keys for different services
  • Personal access tokens
  • Username/password authentication
  • Per-repository credentials
  • Keychain integration - credentials stored securely
Contribution Graph
  • Visual activity calendar showing commit frequency
  • GitHub-style heatmap
  • 52-week activity visualization
File Status Indicators
  • M (Orange) - Modified (unstaged changes)
  • A (Green) - Added (new file, staged)
  • D (Red) - Deleted
  • R (Blue) - Renamed
  • C (Purple) - Copied
  • U (Red) - Unmerged (conflict)
  • ? (Gray) - Untracked
  • ! (Gray) - Ignored
Repository Info
  • Repository statistics
  • Contributors list
  • Current repository state
  • Commits ahead/behind indicators
  • Last sync time
Vim Support

Supported Vim Commands

Full Vim mode support for power users who prefer modal editing.

aMove cursor after current character and go into insert mode
iGo into insert mode
oPut cursor on next line and go into insert mode
OPut cursor on previous line and go into insert mode
wMove forward by one word
bMove backward by one word
eMove forward to the end of the (current/next) word
hMove cursor left by one character
jMove cursor down by one line
kMove cursor up by one line
lMove cursor right by one character
0Go to beginning of line
^Go to first non-whitespace character in line
>>Indent current line
<<Unindent current line
>Indent visual selection
<Unindent visual selection
$Go to last character in line
[number]ggGo to specific line in buffer
ggGo to first line in buffer
GGo to last line in buffer
fGo to next character in line
FGo to previous character in line
xDelete character underneath cursor
XDelete character behind cursor
rReplace character underneath cursor
sDelete character underneath cursor and enter insert mode
dDelete selection
ddDelete line
DDelete the characters under the cursor until the end of the line
yYank selection
yyYank line
pPaste selection in front of cursor or on next line
PPaste selection behind cursor or previous next line
u (In visual mode)Set selected text to lowercase
U (In visual mode)Set selected text to UPPERCASE
vStart Visual mode per character
VStart Visual mode linewise
uUndo action
EscapeToggle between Vim and insert mode
Ctrl+cToggle between Vim and insert mode
Ctrl+[ and (CTRL+ALT+8 and 9)Toggle between Vim and insert mode
Ctrl+RRedo action
Ctrl+DMove half-page down
Ctrl+UMove half-page up
Ctrl+FMove page down
Ctrl+BMove page up
.Repeat action
cChange selected text, line or range of text (targeted with a set of accumulated commands) and go into insert mode
CChange everything from the current character position to the end of the line and go into insert mode
|The pipe command allows you to move to a specific column within the line. Ex: '10|' will move to the 10th column in the current line
JJoin the previous line with new line and place cursor between joined lines
AMove to the end of the line and go directly into insert mode
IMove to the beginning of the line and go directly into insert mode
nMove to the next match in buffer
NMove to the previous match in buffer
/Search forwards
?Search backwards
*Search for the word underneath the cursor
{[count] paragraphs backward
}[count] paragraphs forward
~switch character case [single, count or selection]
Colon Commands

Supported Colon Commands

Execute powerful editor commands using Vim's colon command mode.

:w, :wqWrite file to disk.
:q, :q!Close the editor. Adding '!' will close editor discarding changes.
:red, :redoRedo an edit.
:xWrite file to disk and close editor
:set nuShow line numbers
:set nonuHide line numbers
:set nokbHide the keyboard
:set fsPuts editor in fullscreen mode
:set nofsTakes editor out of fullscreen mode
:set ic / :set ignorecaseIgnore case when searching in buffer
:set noic / :set noignorecaseDo not ignore case (case sensitive) when searching in buffer
:sortAlphabetic sort. Use visual mode to select text
:sort nNumeric sort. Use visual mode to select text
:set syntax=[option] / :syntax [option]Supported options are on (turn on syntax highlighting), off (turn off syntax highlighting), manual (use default language for file extension) and [lang_name] (use a different language to highlight buffer). Example: ':set syntax=objc' (this will set the language to Objective-C)
Typography

Supported Fonts

Choose from beautiful monospace fonts optimized for code readability.

Anonymous Pro

Mark Simonson

CamingoCode
Courier [Bold]
Courier New [Bold]
DejaVu Sans Mono

Bitstream Inc.

Droid Sans Mono

The Android Open Source Project

Fantasque Sans Mono
Fira Code
Fira Mono For Powerline
Hermit
Inconsolata

Raph Levien

Iosevka
JetBrains Mono

https://www.jetbrains.com/lp/mono/

Liberation Mono

Pravin Satpute, Steve Matteson

Luxi Mono

Bigelow & Holmes Inc

Menlo
monofur

tobias b koehler

M+ 2m
ProFont Windows

Mike Smith

Proggy Clean

proggy_fonts

Proggy Square

proggy_fonts

SourceCodePro
Space Mono
Languages

Supported Languages

Comprehensive syntax highlighting and support for 60+ programming languages.

Name Notes lang_name
ASPActive Server Pagesasp
AWKawk
ActionScriptVersion 3.0actionscript
Adaada
ArduinoArduino Referencearduino
Bash (Unix shell)bash
Cc
C++cpp
C#csharp
Clojureclojure
Cobolcobol
CSScss
Dd
Dartdart
Dockerfiledockerfile
Erlangerlang
F#fsharp
Fortranfortran
Gherkingherkin
Gogo
Hamlhaml
Haskellhaskell
HTML (4 & 5)html
INIini
Javajava
Javascriptjavascript
Kotlinkotlin
LaTeXlatex
(Common) Lisplisp
Lualua
Markdownmarkdown
MATLABmatlab
MQL (4 & 5)mql
NSISnsis
Objective-Cobjc
Org modeorgmode
Pascalpascal
Perlperl
PHPVersion 5+php
Powershellpowershell
Progressprogress
Prologprolog
Pugpug
Puppetpuppet
Pythonpython
Q/kdb+qkdb
Rr
reStructuredTextrestructuredtext
Rubyruby
Rustrust
Scalascala
Soliditysolidity
SQLGeneric SQL syntax only.sql
Statastata
Swiftswift
Terraformterraform
TypeScripttypescript
TypeScriptReacttypescriptreact
Verilogverilog
VHDLvhdl
Visual BasicVersion 6.0vb
Vuevue
x86 ASMx86asm
XMLxml
Customization

Syntax Themes

300+ Beautiful themes for light and dark environments, reducing eye strain during long coding sessions.