VI editor: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Quick reference''' | '''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' | |||
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'