Linux Foundation
Commands Used to Start, Exit, Read, and Write Files
in vi
Command Usage
vi myfile Start the vi editor and edit
the myfile file
vi -r myfile Start vi and edit myfile in recovery
mode from a system crash
:r file2<ret> Read in file2 and insert at current
position
:w<ret> Write to the file
:w myfile<ret> Write out the file to myfile
:w! file2<ret> Overwrite file2
:x<ret> or :wq<ret> Exit vi and write out modified file
:q<ret> Quit vi
:q!<ret> Quit vi even though modifications
have not been saved
Keystrokes Used When Changing Cursor Position in vi
Keys Usage
arrow keys To move up, down, left and right
j or <ret> To move one line down
k To move one line up
h or Backspace To move one character left
l or Space To move one character right
0 To move to beginning of line
$ To move to end of line
Introduction to Linux 1 of 3
w To move to beginning of next word
b To move back to beginning of
preceding word
:0 <ret> or 1G To move to beginning of file
:n <ret> or nG To move to line n
:$ <ret> or G To move to last line in file
Ctrl-f or Page Down To move forward one page
Ctrl-b or Page Up To move backward one page
^l To refresh and center screen
Searching for Text in vi
Command Usage
/pattern<ret> Search forward for pattern
?string<ret> Search backward for pattern
Key Usage
n Move to next occurrence of search pattern
N Move to previous occurrence of search pattern
Working with Text in vi
Key Usage
a Append text after cursor; stop upon Escape key
A Append text at end of current line; stop upon
Escape key
i Insert text before cursor; stop upon Escape key
I Insert text at beginning of current line; stop upon
Escape key
o Start a new line below current line, insert text there;
stop upon Escape key
O Start a new line above current line, insert text
there; stop upon Escape key
r Replace character at current position
Introduction to Linux 2 of 3
R Replace text starting with current position; stop
upon Escape key
x Delete character at current position
Nx Delete N characters, starting at current position
dw Delete the word at the current position
D Delete the rest of the current line
dd Delete the current line
Ndd or dNd Delete N lines
u Undo the previous operation
yy Yank (copy) the current line and put it in buffer
Nyy or yNy Yank (copy) N lines and put it in buffer
p Paste at the current position the yanked line or lines
from the buffer
Introduction to Linux 3 of 3