User Tools

Site Tools


linux:ubuntu_vi_cheat_sheet

Vi Cheat Sheet

Insert Text Delete Text Change
i Insert before cursor x Delete char to the right of cursor cw Change word
I Insert before line X Delete character to the left of cursor cc Change line
a Append after cursor D Delete to the end of the line C Change to end of line
A Append after line dd Delete current line r Replace ie rc replace char with c
o New line below current 5dd Delete 5 lines R Replace type over
O New line above current db Delete previous word s Substitute 1 char with text
r Replace one character dnw Delete n words S Substitute rest of line with text
r Replace more characters dw Delete word to buffer . Repeat last change
Recover buffer Undo Commands Quit
p Put buffer after cursor u Undo last change wq! Write (save) and quit
P Put buffer before cursor U Undo all changes on line q! Quit dont write (save)
Buffer commands Window motions Parameters
yy Yank (copy) line to buffer <ctrl>+d Scroll down (half a screen) :set list Show invisible characters
2yy Yank (copy) 2 lines to buffer <ctrl>+u Scroll up (half a screen) :set nolist Don't show invisible characters
“z6yy Yank 6 lines to buffer z <ctrl>+f Page forward :set number Show line numbers
yw Yank a word to buffer <ctrl>+b Page backward :set nonumber Don't show line numbers
yaw Yank word to byffer a /string Search forward :set showmatch Show matching sets of ()
“a9dd Delete 9 lines to buffer a ?string Search backward :set noshowmatch Don't Show matching sets of ()
“A9dd Delete 9 lines add to buffer a n Repeat search :set showmode Display mode on last line
“ap Paste buffer a after cursor N Repeat search reverse :set noshowmode Turn off showmode
J Join lines G Go to last line
:n Go to line n
Search And Replace
:[command]s/old_text/new_text/

Example :%s/foo/bar/g
Replaces all instanses of foo with bar

command options:

. Current line
n Line number n
.+ m Current line plus m lines
$ Last line
/string/ A line that contains “string”
% Entire file
[addr1],[addr2] Specifies a range

Examples:
Replaces only the first entry of foo with bar in each of 11 lines start at the current line (.)
and continue for the 10 that follow (.+10).

:.,.+10s/foo/bar

Removes the last character from every line. Use it if every line in the file ends with ^M
as the result of a file transfer. Execute it when the cursor is on the first line of the file.
:%s/.$//
linux/ubuntu_vi_cheat_sheet.txt · Last modified: 01/12/2023 13:35 by Allan