vi Commands

vi commands are used in “screen” mode (the default), where you use the commands to
move around the screen and to perform operations on the text.

Most vi commands follow a general pattern:

[command][number]textobject

or the equivalent form:

[number][command]textobject

Movement Commands

vi movement commands distinguish between two kinds of “words.” The lowercase commands define a word as a
contiguous sequence of underscores, letters, and digits. The uppercase commands define a word as a
contiguous sequence of nonwhitespace characters.

Command

Meaning

Character

h, j,
k, l

Left, down, up, right (←, ↓, ↑, →)

Text

w, W,
b, B

Forward, backward by word

e, E

End of word

), (

Beginning of next, previous sentence

}, {

Beginning of next, previous
paragraph

]], [[

Beginning of next, previous section

Lines

ENTER

First nonblank character of next
line

0, $

First, last position of current line

^

First nonblank character of current
line

+, -

First nonblank character of next, previous
line

n|

Column n of current
line

H, M,
L

Top, middle, last line of screen

nH

n (number) of lines after top
line

nL

n (number) of lines before
last line

Scrolling

CTRL-F, CTRL-B

Scroll forward, backward one screen

CTRL-D, CTRL-U

Scroll down, up one half-screen

CTRL-E, CTRL-Y

Show one more line at bottom, top of window

zENTER

Reposition line with cursor: to top of
screen

z.

Reposition line with cursor: to middle of
screen

z–

Reposition line with cursor: to bottom of
screen

CTRL-L

Redraw screen (without scrolling)

Command

Meaning

Searches

/pattern

Search forward ...

The best content for your career. Discover unlimited learning
on demand for around $1/day.