VI editor: Difference between revisions
No edit summary |
No edit summary |
||
Line 26: | Line 26: | ||
B move to the beginning of the previous word, ignores punctuation | B move to the beginning of the previous word, ignores punctuation | ||
e end of next word or punctuation mark | e end of next word or punctuation mark | ||
E end of next word, ignoring punctuation | |||
H move cursor to the top of the screen | |||
M move cursor to the middle of the screen | |||
L move cursor to the bottom of the screen | |||
* Screen Movement | * Screen Movement | ||
G move to the last line in the file | |||
xG move to line x | |||
z+ move current line to top of screen | |||
z move current line to the middle of screen | |||
z- move current line to the bottom of screen | |||
^F move forward one screen | |||
^B move backward one line | |||
^D move forward one half screen | |||
^U move backward one half screen | |||
^R redraw screen (does not work with VT100 type terminals) | |||
^L redraw screen (does not work with Televideo terminals) | |||
* Inserting | * Inserting | ||
r replace character under cursor with next | r replace character under cursor with next | ||
character typed | character typed | ||
R keep replacing character until [esc] is hit | R keep replacing character until [esc] is hit | ||
i insert before cursor | i insert before cursor | ||
a append after cursor | a append after cursor | ||
A append at end of line | A append at end of line | ||
O open line above cursor and enter append mode | O open line above cursor and enter append mode | ||
* Deleting | * Deleting | ||
x delete character under cursor | x delete character under cursor | ||
dd delete line under cursor | dd delete line under cursor | ||
dw delete word under cursor | dw delete word under cursor | ||
db delete word before cursor | db delete word before cursor | ||
* Copying Code | * Copying Code | ||
yy (yank)'copies' line which may then be put by | yy (yank)'copies' line which may then be put by | ||
the p(put) command. Precede with a count for | the p(put) command. Precede with a count for | ||
multiple lines. | multiple lines. | ||
* Put Command | * Put Command | ||
brings back previous deletion or yank of lines, | brings back previous deletion or yank of lines, words, or characters | ||
P bring back before cursor | |||
p bring back after cursor | |||
* Find Commands | * Find Commands | ||
? finds a word going backwards | ? finds a word going backwards | ||
/ finds a word going forwards | / finds a word going forwards | ||
f finds a character on the line under the cursor going forward | |||
f finds a character on the line under the | F finds a character on the line under the cursor going backwards | ||
t find a character on the current line going forward and stop one character before it | |||
T find a character on the current line going backward and stop one character before it | |||
F finds a character on the line under the | |||
t find a character on the current line going | |||
T find a character on the current line going | |||
; repeat last f, F, t, T | ; repeat last f, F, t, T | ||
* Miscellaneous Commands | * Miscellaneous Commands | ||
. repeat last command | . repeat last command | ||
u undoes last command issued | u undoes last command issued | ||
U undoes all commands on one line | U undoes all commands on one line | ||
xp deletes first character and inserts after | xp deletes first character and inserts after | ||
second (swap) | second (swap) | ||
J join current line with the next line | J join current line with the next line | ||
^G display current line number | ^G display current line number | ||
% if at one parenthesis, will jump to its mate | % if at one parenthesis, will jump to its mate | ||
mx mark current line with character x | mx mark current line with character x | ||
'x find line marked with character x | 'x find line marked with character x | ||
NOTE: Marks are internal and not written to the file. | NOTE: Marks are internal and not written to the file. | ||
* Line Editor Mode | * Line Editor Mode | ||
Any commands form the line editor ex can be issued | Any commands form the line editor ex can be issued upon entering line mode. | ||
To enter: type ':' | |||
To exit: press[return] or [esc] | |||
* ex Commands | * ex Commands | ||
For a complete list consult the | For a complete list consult the UNIX Programmer's Manual | ||
* READING FILES | * READING FILES | ||
copies (reads) filename after cursor in file | copies (reads) filename after cursor in file currently editing | ||
:r filename | |||
* WRITE FILE | * WRITE FILE | ||
:w saves the current file without quitting | |||
* MOVING | * MOVING |
Revision as of 12:14, 10 November 2008
Quick reference
- General Startup
To use vi: vi filename To exit vi and save changes: ZZ or :wq To exit vi without saving changes: :q! To enter vi command mode: [esc]
- Counts
A number preceding any vi command tells vi to repeat that command that many times.
- Cursor Movement
h move left (backspace) j move down k move up l move right (spacebar) [return] move to the beginning of the next line $ last column on the current line 0 move cursor to the first column on the current line ^ move cursor to first nonblank column on the current line w move to the beginning of the next word or punctuation mark W move past the next space b move to the beginning of the previous word or punctuation mark B move to the beginning of the previous word, ignores punctuation e end of next word or punctuation mark E end of next word, ignoring punctuation H move cursor to the top of the screen M move cursor to the middle of the screen L move cursor to the bottom of the screen
- Screen Movement
G move to the last line in the file xG move to line x z+ move current line to top of screen z move current line to the middle of screen z- move current line to the bottom of screen ^F move forward one screen ^B move backward one line ^D move forward one half screen ^U move backward one half screen ^R redraw screen (does not work with VT100 type terminals) ^L redraw screen (does not work with Televideo terminals)
- Inserting
r replace character under cursor with next
character typed
R keep replacing character until [esc] is hit i insert before cursor a append after cursor A append at end of line O open line above cursor and enter append mode
- Deleting
x delete character under cursor dd delete line under cursor
dw delete word under cursor db delete word before cursor
- Copying Code
yy (yank)'copies' line which may then be put by
the p(put) command. Precede with a count for multiple lines.
- Put Command
brings back previous deletion or yank of lines, words, or characters P bring back before cursor p bring back after cursor
- Find Commands
? finds a word going backwards / finds a word going forwards
f finds a character on the line under the cursor going forward F finds a character on the line under the cursor going backwards t find a character on the current line going forward and stop one character before it
T find a character on the current line going backward and stop one character before it ; repeat last f, F, t, T
- Miscellaneous Commands
. repeat last command u undoes last command issued U undoes all commands on one line xp deletes first character and inserts after second (swap) J join current line with the next line ^G display current line number % if at one parenthesis, will jump to its mate mx mark current line with character x 'x find line marked with character x NOTE: Marks are internal and not written to the file.
- Line Editor Mode
Any commands form the line editor ex can be issued upon entering line mode.
To enter: type ':' To exit: press[return] or [esc]
- ex Commands
For a complete list consult the UNIX Programmer's Manual
- READING FILES
copies (reads) filename after cursor in file currently editing
:r filename
- WRITE FILE
:w saves the current file without quitting
- MOVING
:# move to line #
:$ move to last line of file
- SHELL ESCAPE
executes 'cmd' as a shell command.
:!'cmd'