To Exit vi
| * | :x<Return> | quit vi, writing out modified file to file named in original invocation |
|---|---|---|
| :wq<Return> | quit vi, writing out modified file to file named in original invocation | |
| :q<Return> | quit (or exit) vi | |
| * | :q!<Return> | quit vi even though latest changes have not been saved for this vi call |
Moving the Cursor
| * | j or <Return> [or down-arrow] | move cursor down one line |
|---|---|---|
| * | k [or up-arrow] | move cursor up one line |
| * | h or <Backspace> [or left-arrow] | move cursor left one character |
| * | l or <Space> [or right-arrow] | move cursor right one character |
| * | 0 (zero) | move cursor to start of current line (the one with the cursor) |
| * | $ | move cursor to end of current line |
| w | move cursor to beginning of next word | |
| b | move cursor back to beginning of preceding word | |
| :0<Return> or 1G | move cursor to first line in file | |
| :n<Return> or nG | move cursor to line n | |
| :$<Return> or G | move cursor to last line in file | |
Inserting or Adding Text
| * | i | insert text before cursor, until <Esc> hit |
|---|---|---|
| I | insert text at beginning of current line, until <Esc> hit | |
| * | a | append text after cursor, until <Esc> hit |
| A | append text to end of current line, until <Esc> hit | |
| * | o | open and put text in a new line below current line, until <Esc> hit |
| * | O | open and put text in a new line above current line, until <Esc> hit |
Changing Text
| * | r | replace single character under cursor (no <Esc> needed) |
|---|---|---|
| R | replace characters, starting with current cursor position, until <Esc> hit | |
| cw | change the current word with new text, starting with the character under cursor, until <Esc> hit | |
| cNw | change N words beginning with character under cursor, until <Esc> hit; e.g., c5w changes 5 words | |
| C | change (replace) the characters in the current line, until <Esc> hit | |
| cc | change (replace) the entire current line, stopping when <Esc> is hit | |
| Ncc or cNc | change (replace) the next N lines, starting with the current line, stopping when <Esc> is hit | |
Saving and Reading Files
| :r filename<Return> | read file named filename and insert after current line (the line with cursor) | |
|---|---|---|
| :w<Return> | write current contents to file named in original vi call | |
| :w newfile<Return> | write current contents to a new file named newfile | |
| :12,35w smallfile<Return> | write the contents of the lines numbered 12 through 35 to a new file named smallfile | |
| :w! prevfile<Return> | write current contents over a pre-existing file named prevfile |
No comments:
Post a Comment