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.

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.

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

Supported Vim Commands

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

a Move cursor after current character and go into insert mode
i Go into insert mode
o Put cursor on next line and go into insert mode
O Put cursor on previous line and go into insert mode
w Move forward by one word
b Move backward by one word
e Move forward to the end of the (current/next) word
h Move cursor left by one character
j Move cursor down by one line
k Move cursor up by one line
l Move cursor right by one character
0 Go 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]gg Go to specific line in buffer
gg Go to first line in buffer
G Go to last line in buffer
f Go to next character in line
F Go to previous character in line
x Delete character underneath cursor
X Delete character behind cursor
r Replace character underneath cursor
s Delete character underneath cursor and enter insert mode
d Delete selection
dd Delete line
D Delete the characters under the cursor until the end of the line
y Yank selection
yy Yank line
p Paste selection in front of cursor or on next line
P Paste 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
v Start Visual mode per character
V Start Visual mode linewise
u Undo action
Escape Toggle between Vim and insert mode
Ctrl+c Toggle between Vim and insert mode
Ctrl+[ and (CTRL+ALT+8 and 9) Toggle between Vim and insert mode
Ctrl+R Redo action
Ctrl+D Move half-page down
Ctrl+U Move half-page up
Ctrl+F Move page down
Ctrl+B Move page up
. Repeat action
c Change selected text, line or range of text (targeted with a set of accumulated commands) and go into insert mode
C Change 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
J Join the previous line with new line and place cursor between joined lines
A Move to the end of the line and go directly into insert mode
I Move to the beginning of the line and go directly into insert mode
n Move to the next match in buffer
N Move 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]

Supported Colon Commands

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

:w, :wq Write file to disk.
:q, :q! Close the editor. Adding '!' will close editor discarding changes.
:red, :redo Redo an edit.
:x Write file to disk and close editor
:set nu Show line numbers
:set nonu Hide line numbers
:set nokb Hide the keyboard
:set fs Puts editor in fullscreen mode
:set nofs Takes editor out of fullscreen mode
:set ic / :set ignorecase Ignore case when searching in buffer
:set noic / :set noignorecase Do not ignore case (case sensitive) when searching in buffer
:sort Alphabetic sort. Use visual mode to select text
:sort n Numeric 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)

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

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

Syntax Themes

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