Manual version 2.0
First of all, Thank you so much for purchasing Buffer Editor.
You are awesome!
You are entitled to get free lifetime updates to this product + exceptional support from the author directly.
Requires iOS 13.0 or later.
You can use the editor in normal mode or in the Vim mode.
| Key | Notes |
|---|---|
| Left | Move cursor left |
| Right | Move cursor right |
| Up | Move cursor up |
| Down | Move cursor down |
| CMD + CTRL + f | Toggle fullscreen |
| tab | Tab or Indent selection |
| SHIFT + tab | Unindent selection |
| CTRL + tab | Next tab |
| CTRL + SHIFT + tab | Previous tab |
| CMD + number (1-9) | Selected tab (number) |
| CMD + e | Edit currently open file |
| CMD + / | Toggle comment |
| CMD + ALT + / | Toggle block comment |
| CMD + a | Select All |
| CMD + f | Search |
| CMD + x | Cut |
| CMD + c | Copy |
| CMD + s | Save file |
| CMD + v | Paste |
| CMD + z | Undo last edit |
| SHIFT + ← → | Select character before / after cursor |
| CMD + SHIFT + ← → | Select before / after cursor |
| CMD + SHIFT + ↑ ↓ | Select all before / after cursor |
| OPTION(ALT) + ← → | Move cursor one word forward / backward |
| OPTION(ALT) + SHIFT + ← → | Select one word forward / backward |
| Command | Description |
|---|---|
| a | Move cursor after current character and go into editing mode |
| i | Go into editing mode |
| o | Put cursor on next line and go into editing mode |
| O | Put cursor on previous line and go into editing 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 |
| 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. Use visual mode to select text. You can also select text with 'touch' select or cmd+a to select all text. Then press esc and type u |
| U (In visual mode) | Set selected text to UPPERCASE. Use visual mode to select text. You can also select text with 'touch' select or cmd+a to select all text. Then press esc and type U |
| 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 |
| Command | Description |
|---|---|
| :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 | Toggle editor 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. You can also select text with 'touch' select or cmd+a to select all text. Then press esc and type :sort |
| :sort n | Numeric sort. Use visual mode to select text. You can also select text with 'touch' select or cmd+a to select all text. Then press esc and type :sort n |
| :set syntax=[option] :syntax [option] |
Change the color of the text. |
| Command | Description |
|---|---|
| TAB | Tab or Indent selection |
| LEFT TAB | Unindent selection |
| A | Select all text |
| B | Block comment selection |
| C | Comment selection / add comment |
colorscheme change the current color scheme. You can also change the theme via settings.
:colo [scheme_code]
:colorscheme [scheme_code]
Change the color scheme to Solarized Dark.
:colo solarized_dark
Change the color scheme to Xcode.
:colorscheme x_code
| Name | Code |
|---|---|
| Ayu Dark | ayu_dark |
| Ayu Light | ayu_light |
| Buffereditor | buffereditor |
| Candy | candy |
| Candyland | candyland |
| Dante | dante |
| Deep Dark | deepdark |
| Desert | desert |
| Dracula | dracula |
| Github | github |
| Gatito | gatito |
| Inkpot | inkpot |
| Jellybeans | jellybeans |
| Mac Classic | mac_classic |
| madeofcode | madeofcode |
| Monokai | monokai |
| Oceanic | oceanic |
| One Dark | one_dark |
| One Dark Pro | one_dark_pro |
| Putty | putty |
| Seti | seti |
| Solarized Dark | solarized_dark |
| Solarized Light | solarized_light |
| Spacecadet | spacecadet |
| Spacegray Light | spacegray_light |
| VSCode Dark | vscode_dark |
| VSCode Light | vscode_light |
| Wombat | wombat |
| Xcode | x_code |
| Xotopia Dark | xotopia_dark |
help opens the User Guide and to Vim help topics.
:help [topic]
Display help topic for the 'syntax' Vim option.
:help syntax
syntax forces the text color to change.
:set syntax=[option]
| Option | Description |
|---|---|
| on | Turn syntax highlighting on. |
| off | Turn syntax highlighting off. |
| manual | Load the default language to parse the file (this is based off of the file's extension). This also turns syntax highlighting on. |
| [lang_name] | The language used to parse the file. Please refer to the Language Codes below for a list of supported languages. |
Turn syntax highlighting on.
:set syntax=on
Force the file to be parsed as Objective-C syntax.
:set syntax=objc
| Name | Code |
|---|---|
| ASP | asp |
| AWK | awk |
| ActionScript | actionscript |
| Ada | ada |
| Arduino | arduino |
| Bash (Unix shell) | bash |
| C | c |
| C++ | cpp |
| C# | csharp |
| Clojure | clojure |
| Cobol | cobol |
| CSS | css |
| D | d |
| Dart | dart |
| Dockerfile | dockerfile |
| F# | fsharp |
| Fortran | fortran |
| Gherkin | gherkin |
| Go | go |
| Haml | haml |
| Haskell | haskell |
| HTML (4 & 5) | html |
| INI | ini |
| Java | java |
| Javascript | javascript |
| JSON | json |
| Julia | julia |
| Kotlin | kotlin |
| LaTeX | latex |
| (Common) Lisp | lisp |
| Lua | lua |
| Markdown | markdown |
| MATLAB | matlab |
| MQL (4 & 5) | mql |
| NSIS | nsis |
| Objective-C | objc |
| Orgmode | orgmode |
| Pascal | pascal |
| Perl | perl |
| PHP | php |
| Powershell | powershell |
| Progress | progress |
| Prolog | prolog |
| Pug | pug |
| Puppet | puppet |
| Python | python |
| Q/kdb+ | qkdb |
| R | r |
| reStructuredText | restructuredtext |
| Ruby | ruby |
| Rust | rust |
| Scala | scala |
| Solidity | solidity |
| SQL | sql |
| Stata | stata |
| Swift | swift |
| Terraform | terraform |
| TypeScript | typescript |
| TypeScriptReact | typescriptreact |
| Verilog | verilog |
| VHDL | vhdl |
| Visual Basic | vb |
| Vue | vue |
| x86 ASM | x86asm |
| XML | xml |
| YAML | yaml |
| Operators | |
|---|---|
| | | Or |
| * | 0 or more times. Match as many times as possible. |
| + | 1 or more times. Match as many times as possible. |
| ? | 0 or 1 times. Prefer 1. |
| *? | 0 or more times. Match as few times as possible. |
| +? | 1 or more times. Match as few times as possible. |
| ?? | 0 or 1 times. Prefer 0. |
| *+ | 0 or more times. Match as many times as possible when first encountered, do not retry with fewer even if overall match fails (Possessive Match). |
| ++ | 1 or more times. Possessive match. |
| ?+ | 0 or 1 times. Possessive match. |
| {n} {n}? {n}+ | Exactly n times. |
| {n,} | n or more. |
| {n,}? | At least n times, but no more than required for an overall pattern match. |
| {n,m} | Between n and m times. |
| {n,m}? | Between n and m times. Match as few times as possible, but not less than n. |
| Anchors | |
|---|---|
| ^ | Beginning of a line. |
| $ | End of a line. |
| \A | Beginning of an input. Doesn't match after a new line within the input. |
| \z | End of input. |
| \Z | End of input, but before the final line terminator, if one exists. |
| . | Any character. |
| \ | Quote (escape) following character. |
| Others | |
|---|---|
| $n | n is a digit. Back referencing to a capture group. n must be >= 0 and not greater than the number of capture groups. $ not followed by a digit has no special meaning. |
| \ | Treat the following character as a literal, suppressing any special meaning. |
| Character Classes | |
|---|---|
| \b | Word boundary, if outside of a [Set]. BACKSPACE, if within a [Set]. |
| \B | Not word boundary. |
| \s | White space character. |
| \S | Non-white space character. |
| \d | Digit character. |
| \D | Non-digit character. |
| \w | Word character. |
| \W | Non-word character. |
| Groups and Ranges | |
|---|---|
| (...) | Capturing parentheses (capturing group). |
| (?:...) | Non-capturing parentheses. Matches but doesn't capture. Somewhat more efficient than capturing parentheses. |
| (?!...) | Negative look-ahead. True if the parenthesized pattern does not match at the current input position. |
| [...] | Any one character in the set. |
| [^...] | Negated set. Not any one in the set. |
| Useful Examples | |
|---|---|
| m[^o] | matches any "m" followed by anything other than "o" |
| m(?!o) | matches any "m" (and only "m") not followed by "o" |
You can preview your files in safari.
The preview will start a small web server at localhost which can be accessed in the same network via other device.
You can create new connection by pressing "+" on the top right of the main view.
You can delete the connection by swiping left over the connection.
You can edit the connection details by pressing the "i" button on the right side of the connection.
1. Choose connection / filemanager from the main view
2. press "+" sign on top right
3. choose "create file" or "create folder"
Normally you don't have to upload or download files with buffer editor.
You can just press the tick on the top right of the editor view.
Downloading the files allows you to transfer the file to another service or for offline use.
1. Choose local files from main view
2. go to some folder
3. press "+" sign on top right
4. check the files (box over icon)
5. press upload.
6. choose the remote service, go to some folder. press confirm.
1. Choose any remote service from main view
2. go to some folder
3. press "+" sign on top right
4. check the files (box over icon)
5. press download.
6. choose folder in local files. press confirm.
You can access recent files by choosing recent files on the main view.
You can also clear recent files list by pressing "+" sign in the recent files view.
When you open any file from the recent files the newest version will be opened from the certain filemanager or connection.
You can move back multiple folders when you are deep in the folder structure.
When you hold the left navigation arrow it will show you a list of the folder structure, just tap the destination folder.
Enter your details to the official login system when prompted.
These files are synced between your iOS devices.
iCloud documents is not iCloud Drive. You can link folders or open files from iCloud Drive with the "open from" function
Enter your details to the official login system when prompted.
Use the "Open From" function to select folders, these folders will be added to the EXTERNAL FOLDERS section on the main view.
Only iOS folders that are locally stored in the file system can be linked.
You can't link folders from cloud providers, but you can still open files for editing.
| Option | Description |
|---|---|
| Auto-Indent | Indent newline automatically |
| Auto-Complete Quotes | Insert completing quote |
| Auto-Complete Quotes | Insert completing quote |
| Auto-Complete Brackets | Insert completing bracket "{ }" |
| Auto-Complete Code | Suggest code |
| Show Extended Keyboard | Shows swipeable keys over the keyboard |
| Show Navigation Arrows | Shows arrows for cursor navigation over the keyboard |
| Display Status Bar | Displays iOS status bar( battery, time etc). |
| Line Numbers | Draw line numbers |
| Font Name | Choose font |
| Font Size | Choose font size |
| Expand Tabs (soft tabs) | Enable hard or soft tabs |
| Tab Width | Choose tab width |
| Display Tab Characters | Display invisible tabs |
| Display Space Characters | Display invisible space characters |
| Display Newline Characters | Display invisible newline characters |
| Highlight Matching Brackets | Highlight matching brackets |
| Theme | Choose theme for editor |
| Word Wrapping | Word wrapping allows long words to be able to be broken and wrap onto the next line |
| Highlight Current Line | Enable current line highlightning |
| Show Inverse Cursor(vim mode)/td> | Enable inverse cursor for vim mode |
| Dark mode | Enable dark or light mode for application |
| Override Obj-C(.m) with MATLAB(.m) syntax | Overrides Obj-C(.m) with MATLAB(.m) syntax |
| Override Perl(.pl) with Prolog(.pl) syntax | Overrides Perl(.pl) with Prolog(.pl) syntax |
| Enable Touch/Face ID Protection | Enable protection for app if Touch/Face ID is supported by the device. |
| Auto Save | Enable auto save |
| Auto Save Interval (minutes) | Choose auto save interval |
| Name | Author |
|---|---|
| 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 | |
| Liberation Mono | Pravin Satpute, Steve Matteson (Ascender, Inc.) |
| 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 |
If you have any issues or requests, please contact our support.
Our main priority is to keep the app bug free, but if you find any bugs please send us email.
Please include following information in your email.