| Arrow keys | Move cursor |
| hjkl | Same as arrow keys |
| i | Insert text |
| cwnewESC | Change word to new |
| easESC | pluralize word (end of word; append s; escape from input state) |
| x | delete a character |
| dw | delete a word |
| dd | delete a line |
| 3dd | deletes 3 lines |
| u | undo previous change |
| ZZ | exit vi , saving changes |
| :q!CR | quit, discarding changes |
| /textCR | search for text |
| ^U ^D | scroll up or down |
| :cmdCR | any ex or ed command |
| ESC | end insert or incomplete command |
| DEL | (delete or rubout) interrupts |
| :wCR | write back changes |
| :w!CR | forced write, if permission originally not valid |
| :qCR | quit |
| :q!CR | quit, discard changes |
| :e nameCR | edit file name |
| :e!CR | reedit, discard changes |
| :e + nameCR | edit, starting at end |
| :e +nCR | edit, starting at line n |
| :e #CR | edit alternate file |
| :e! #CR | edit alternate file, discard changes |
| :w nameCR | write file name |
| :w! nameCR | overwrite file name |
| :shCR | run shell, then return |
| :!cmdCR | run cmd, then return |
| :nCR | edit next file in arglist |
| :n argsCR | specify new arglist |
| ^G | show current file and line |
| :ta tagCR | position cursor to tag |
| F | forward screen |
| ^B | backward screen |
| ^D | scroll down half screen |
| ^U | scroll up half screen |
| nG | go to the beginning of the specified line (end default), where n is a line number |
| /pat | next line matching pat |
| ?pat | previous line matching pat |
| n | repeat last / or ? command |
| N | reverse last / or ? command |
| /pat/+n | nth line after pat |
| ?pat?-n | nth line before pat |
| ]] | next section/function |
| [[ | previous section/function |
| ( | beginning of sentence |
| ) | end of sentence |
| { | beginning of paragraph |
| } | end of paragraph |
| % | find matching ( ) or { } |
| ^L | clear and redraw window |
| ^R | clear and redraw window if ^L is -> key |
| zCR | redraw screen with current line at top of window |
| z-CR | redraw screen with current line at bottom of window |
| z.CR | redraw screen with current line at center of window |
| /pat/z-CR | move pat line to bottom of window |
| zn.CR | use n-line window |
| ^E | scroll window down one line |
| ^Y | scroll window up one line |
| `` | move cursor to previous context |
| '' | move cursor to first non-white space in line |
| mx | mark current position with the ASCII lower-case letter x |
| `x | move cursor to mark x |
| 'x | move cursor to first non-white space in line marked by x |
| H | top line on screen |
| L | last line on screen |
| M | middle line on screen |
| + | next line, at first non-white space character |
| - | previous line, at first non-white space character |
| CR | return, same as + |
| down-arrow or j | next line, same column |
| up-arrow or k | previous line, same column |
| ^ | first non-white space character |
| 0 | beginning of line |
| $ | end of line |
| l or -> | forward |
| h or <- | backward |
| ^H | same as <- (backspace) |
| space | same as -> (space bar) |
| fx | find next x |
| Fx | find next x |
| tx | move to character following the next x |
| Tx | move to character following the previous x |
| ; | repeat last f, F, t, or T |
| , | repeat inverse of last f, F, t, or T |
| n| | move to column n |
| % | find matching ( ) or { } |
| w | forward a word |
| b | back a word |
| e | end of word |
| ) | to next sentence |
| } | to next paragraph |
| ( | back a sentence |
| { | back a paragraph |
| W | forward a blank-delimited word |
| B | back a blank-delimited word |
| E | end of a blank-delimited word |
| ^H | erase last character (backspace) |
| ^W | erase last word |
| erase | your erase character, same as ^H (backspace) |
| kill | your kill character, erase this line of input |
| \ | quotes your erase and kill characters |
| ESC | ends insertion, back to command mode |
| CTRL-C | interrupt, suspends insert mode |
| ^D | backtab one character; reset left margin of autoindent |
| ^^D | caret (^) followed by control-d (^D); backtab to beginning of line; do not reset left margin of autoindent |
| 0^D | backtab to beginning of line; reset left margin of autoindent |
| ^V | quote non-printable character |
| a | append after cursor |
| A | append at end of line |
| i | insert before cursor |
| I | insert before first non-blank |
| o | open line below |
| O | open line above |
| rx | replace single character with x |
| RtextESC | replace characters |
| d | delete |
| c | change |
| y | yank lines to buffer |
| > | left shift |
| < | right shift |
| ! | filter through command |
| C | change rest of line (c$) |
| D | delete rest of line (d$) |
| s | substitute characters (cl) |
| S | substitute lines (cc) |
| J | join lines |
| x | delete characters (dl) |
| X | delete characters before cursor dh) |
| Y | yank lines (yy) |
| 3yy | yank 3 lines |
| 3yl | yank 3 characters |
| p | put back text after cursor |
| P | put back text before cursor " .nr )I xp"n put from buffer x " .nr )I xy"n yank to buffer x " .nr )I xd"n delete into buffer x |
| u | undo last change |
| U | restore current line |
| . | repeat last change " .nr )I dp"n retrieve d'th last delete |
Search This Blog
Friday, February 6, 2009
vi commands
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment