vi Command Summary
Here are all the things you can do in vi
All commands are command mode only unless otherwise noted.
- .
- repeat last command (insert, change, or delete)
- ^@
- repeat last command
- @buffer
- execute command stored in buffer
- a
- append text after cusor
- A
- append text at end of line
- ^A
- unused
- b
- back up to beginning of word
- B
- back up to beginning of work, ignoring punctuation
- ^B
- scroll back one window's worth
- c
- change text
- C
- change to end of line
- ^C
- unused
- d
- delete text
- D
- delete to end of line
- ^D
- (command mode) scroll down half-window
(insert mode) back up one tab stop
- e
- move to end of word
- E
- move to end of word, ignoring punctuation
- ^E
- scroll down one line
- f
- find next character forward on current line
- F
- find previous character backward on current line
- ^F
- scroll forward one window
- g
- unused
- G
- go to specific line or end of file
- ^G
- unused
- h
- cursor left
- H
- go to top line of screen
- ^H
- (command mode) cursor left
(inser mode) backspace
- i
- insert text before cursor
- I
- insert text at beginning of line
- ^I
- (insert mode) tab
- j
- cursor down
- J
- join lines
- ^J
- cursor down
- k
- cursor up
- K
- unused
- ^K
- unused
- l
- cursor right
- L
- go to bottom line of screen
- ^L
- redraw screen
- m
- mark current position in register
- M
- go to middle line of screen
- ^M
- carriage return
- n
- repeat last search command
- N
- repeat last search command in opposite direction
- ^N
- cursor down
- o
- open line below current line
- O
- open line above current line
- ^O
- unused
- p
- put yanked or deleted text after or below cursor
- P
- put yanked or deleted text before or above cursor
- ^P
- cursor up
- q
- unused
- Q
- switch to ex
- ^Q
- (insert mode)escape next character
- r
- replace character
- R
- replace characters
- ^R
- redraw screen
- s
- change current character and leave in input mode
- S
- change entire line
- ^S
- unused
- t
- move cursor forward to character before next character typed
- T
- move cursor backward to character after next character typed
- ^T
- (insert mode) tab
- u
- undo
- U
- undo line
- ^U
- scroll screen up half window
- v
- unused
- V
- unused
- ^V
- (insert mode) escape next character
- w
- move to beginning of next word
- W
- move to beginning of next word, ignoring punctuation
- ^W
- (insert mode) back up to beginning of word
- x
- delete character under cursor
- X
- delete character before cursor
- ^X
- unused
- y
- yank (copy) text
- Y
- yank entire line
- ^Y
- scroll up one line
- z
- redraw screen positioning cursor when followed by
CR at the top, . at middle, and - at the bottom of the screen
- ZZ
- save and exit
- ^Z
- unused
vi evangelical series /
corby@intuit.com
January 1995 (updated April 6, 1998)