0% found this document useful (0 votes)
33 views

Using The VI Editor

The document provides an overview of using the VI text editor on UNIX systems, including descriptions of its two main modes - Command mode for cursor movement and editing commands, and Insert mode for entering text. It lists and explains the most common commands for cursor movement, inserting/deleting text, searching, saving/loading files, and other miscellaneous functions. VI is preinstalled on nearly all UNIX systems and some programs use its "hjkl" cursor keys, though it is not the most feature-rich editor.

Uploaded by

Vamsi Krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Using The VI Editor

The document provides an overview of using the VI text editor on UNIX systems, including descriptions of its two main modes - Command mode for cursor movement and editing commands, and Insert mode for entering text. It lists and explains the most common commands for cursor movement, inserting/deleting text, searching, saving/loading files, and other miscellaneous functions. VI is preinstalled on nearly all UNIX systems and some programs use its "hjkl" cursor keys, though it is not the most feature-rich editor.

Uploaded by

Vamsi Krishna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

2/25/2016

Using the VI Editor

Using the VI Editor


(McCann)
Last Revision: August 1996
VI (pronouced "vee-eye") is not the latest, greatest, more feature-packed UNIX editor. Still, it is
something of a standard, as it exists on 99% of all UNIX systems. Also, some other programs out
there use VI's "hjkl" cursor movement key layout.
Starting: To begin editing a file with vi, you simply type vi followed by the file name:
vi loop.pas

vi clears the screen, puts a column of "~" symbols down the left-hand side, and leaves the cursor at the
top. The "~" symbols are there to indicate end-of-file. You are now in one of vi's two modes -Command mode. Command mode is used for cursor movement, editing, retrieving and saving files,
etc. If you want to type in text, you need to be in Insert mode.
To move from Command mode to Insert mode, press "i" (no quotes).
To move from Insert mode to Command mode, press "ESC" (the Escape key).
NOTE: If your terminal doesn't have an ESC key, or the ESC key doesn't work, use Ctrl-[ instead.
Pressing "i" is but one of several ways to get into insert mode, but it is the most common. The
command list (below) will introduce others. Once in insert mode, you can type in your text. Press
ENTER at the end of each line. Use Backspace to delete to the left of the cursor. If you need to move
the cursor to another line, or make a change, or pretty much anything else, you need to press ESC to
get back to Command mode first.
Command Mode Command List
Here is a list of the most common vi commands. Most anything you'd ever want to do can be done
with one of these. Remember, these are only available from Command mode. ('Current line' means the
line the cursor is on. ^H = Ctrl-h; case is not significant on control characters.)
Cursor Movement:
h = left, j = down, k = up, l = right (the arrow keys often have the same effect)
0 = move to front of line
$ = move to end of line
w = move forward one word
b = move backward one word
e = move forward to end of word
^F = move forward a screenfull
^B = move backward a screenfull
^D = move forward half a screenfull
^U = move backward half a screenfull
G = move to end of file
#G = move to line numbered #. (Ex: Use 0G to move to top of file.)
Searching:
https://www.cs.arizona.edu/~mccann/usingvi.html

1/2

2/25/2016

Using the VI Editor

n = repeat last search


N = reverse direction of last search
/pat = move cursor to next occurrance of pattern pat (forward search)
?pat = move cursor to previous occurrance of pattern pat (backward search)
Inserting:
i = insert before (new text will appear before current cursor position) -- leaves you in insert mode
a = append (new text appears after current cursor position) -- leaves you in insert mode
o = open a new line below the current line
O = open a new line above the current line
rx = replace character under cursor with character x
cwnewESC = change current word to new
Deleting:
^H = erase last character (usually same as backspace)
dSPACE = delete the character beneath the cursor (SPACE == space bar)
dw = delete rest of current word
d$ = delete from cursor through end of current line
dd = delete current line
#dd = delete # lines (Ex: 3dd deletes the current line and the two following lines.)
Saving & Loading:
:w = write the file to the current file name (see also ^G, below)
:wq = write the file to the current file name and exit vi when done
ZZ = same as :wq
:q = just quit vi. Will not work if any changes have been made
:q! = quit vi, discarding all changes. Use with caution!
:w name = save contents to a file named name.
:r name = bring in the text stored in file name; insert it at this position.
Misc:
u = undo last change
. = repeat last change
\ = "escapes" a control character (Ex: in insert mode, to insert a ^H into your file,
type: \^H Also, ^V has a similar effect.)
^L = reprint screen (useful if it gets messed up with too many control characters)
^G = show the name of the current file and the # of the current line
% = find matching ( or ) or { or }
#yy = 'yank' # lines, starting with the current line (like 'copy' in Windows)
p = 'put' those lines just yanked after the current line (like 'paste' in Windows)

https://www.cs.arizona.edu/~mccann/usingvi.html

2/2

You might also like