Home > Command & Utility > vi Commands

vi Commands

October 31, 2008 Posted by KP

Condensed version for my own reference, only those commands I didn’t use but will make life easier.

j or <Return> move cursor down one line
k move cursor up one line
h or <Backspace> move cursor left one character
l or <Space> move cursor right one character
0(zero) move cursor to start of current line
$ 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

Screen Manipulation
^d move down (forward) one half screen
^u move up (back) one half screen
^l redraws the screen

Insert Text
o open and put text in a new line below current line
O open and put text in a new line above current line

Changing Text
r replace single character under cursor (no needed)
R replace characters, starting with current cursor position, until hit
cw change the current word with new text, starting with the character under cursor, until hit
cNw change N words beginning with character under cursor, until hit;
C change (replace) the characters in the current line, until hit
cc change (replace) the entire current line, stopping when is hit
Ncc or cNc change (replace) the next N lines, starting with the current line, stopping when is hit

Deleting Text
X delete character to left of cursor
Nx delete N characters, starting with character under cursor
dNw delete N words beginning with character under cursor;
D or d$ delete the remainder of the line, starting with current cursor position
d0 delete to beginning of line
Ndd or dNd delete N lines, beginning with the current line;
:1,.d to beginning of file
:.,$d to end of file
:1,$d whole file

Cutting and Pasting Text
yy copy (yank, cut) the current line into the buffer
Nyy or yNy copy (yank, cut) the next N lines, including the current line, into the buffer
p put (paste) the line(s) in the buffer into the text after the current line

Determining Line Numbers
:.= returns line number of current line at bottom of screen
:= returns the total number of lines at bottom of screen
^g provides the current line number, along with the total number of lines.

Excerpted from Basic vi Commands with additions from vi command summary.



Related Posts:

Filed Under: Command & Utility

Leave a Comment

(required)
(will not be published, required)

* Copy this password:

* Type or paste password here:






Archives

Links