VI editor: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
* General Startup | * 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 | * Counts | ||
A number preceding any vi command tells vi to repeat that command that many times. | |||
* Cursor Movement | * 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 | * 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 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 | * Deleting | ||
x delete character under cursor | |||
dd delete line under cursor | |||
dw delete word under cursor | |||
db delete word before cursor | |||
* Copying Code | * 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 | * 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 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 | |||
T find a character on the current line going backward and stop one character before it | |||
; repeat last f, F, t, T | |||
* Miscellaneous Commands | * 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 | * 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 currently editing | |||
:r filename | |||
* WRITE FILE | * WRITE FILE | ||
:w saves the current file without quitting | |||
* MOVING | * MOVING | ||
:# move to line # | |||
:$ move to last line of file | |||
* SHELL ESCAPE | * SHELL ESCAPE | ||
executes 'cmd' as a shell command. | |||
:!'cmd' | |||
Latest revision as of 12:19, 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 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'