0% found this document useful (0 votes)
318 views3 pages

Vim Cheat Sheet

This document provides a cheat sheet for basic and some advanced Vim commands. It covers cursor movement, editing, inserting/appending text, marking/visual mode, cutting/pasting, searching/replacing, exiting, and help/man pages. Key commands are organized by function and include motions, operators, and examples combining them with counts.
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)
318 views3 pages

Vim Cheat Sheet

This document provides a cheat sheet for basic and some advanced Vim commands. It covers cursor movement, editing, inserting/appending text, marking/visual mode, cutting/pasting, searching/replacing, exiting, and help/man pages. Key commands are organized by function and include motions, operators, and examples combining them with counts.
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/ 3

write save

change replace
copy
Cheat Sheet yank

f
is
lu
uz
put paste
delete cut
^r Ctrl + r

Cursor movement
h j k l

H - move to top of screen 0 - jump to the start of a line

M - move to middle of screen ^ - jump to the first non-blank character


of the line (same as 0w)
L - move to bottom of screen
$ - jump to the end of a line
w - jump forwards to the start of a word
gg - go to the first line of the document
W - jump forwards to the start of a word
g_ - jump to the last non-blank character
(Only whitespaces delimit words)
of the line
e - jump forwards to the end of a word gd - highlight occurrences of word under cursor
E - jump forwards to the end of a word G - go to the last line of the document
(Only whitespaces delimit words)
nG - go to line n (6G goes to line 6)
b - jump backwards to the start of a word
tx - jump before next occurrence of character x
B - jump backwards to the start of a word
(Only whitespaces delimit words) fx - jump to next occurrence of character x
; - repeat last f, t, F or T instance

Editing
r - replace single character under the cursor s - delete character and substitute text

R - replace multiple characters SS - delete line and substitute text (same as cc)

J - join line below with current line xp - transpose two letters

cc - change (replace) entire line u - undo

cw - change to the end of the word ^r - redo

c$ - change to the end of the line - repeat last command

Inserting / Appending
i - insert before the cursor o - open a blank line below the cursor

I - insert at the beginning of the line O - open a blank line above the cursor

a - append after the cursor Esc - exit insert mode

A - append at the end of the line


Marking text (visual mode)
v - start visual mode ap - mark a paragraph

V - start linewise visual mode ab - mark a block with ()

^v - start visual block mode aB - mark a block with {}

aw - mark a word ib - mark content of a block with ()

as - mark a sentence iB - mark content of a block with {}

Esc - exit visual mode

Visual commands
> - shift text right y - yank (copy) marked text

< - shift text left Sd - delete marked text

~ - switch text/letter case

Cut and paste


yy - yank a line dd - delete a line
yw
I - yank the characters of the word from I - delete the characters of the word from
dw
cursor position to the start of next word cursor position to the start of next word
A
y$ - yank to the end of line d$ - delete to the end of line

p - put after the cursor x - delete character under the cursor

P - put before the cursor X - delete character before the cursor

Exiting
:w - write the file but don't exit :! - execute external command (e.g. :!date)

:w !sudo tee % - write current file with sudo :wq or :x - write changes and quit

:w fname - write the file as fname but don't exit q - quit (fails if any anything has changed)

:r fname - retrieve fname and put it below cursor Sq! - quit and discard any unsaved changes

Search and replace


/pattern - search forward for pattern % - go to match of a ( , ) , [ , ] , { , or } under cursor

I?pattern - search backward for pattern :s/old/new - replace first old with new in a line

n - repeat search in the same direction :s/old/new/g - replace all 'old's with new in the
whole line
N - repeat search in the opposite direction
:%s/old/new/g - replace all 'old's with new in the
^o - go back to older positions whole file
:%s/old/new/gc - replace all 'old's with new in the
^i - go forward to newer positions whole file with confirmations
Global
:help keyword - open help for keyword :saveas file - save as file

:o file - open file K - open man page for word under the cursor

Operators Motions
c - change w - until start of next word excluding its first character

d - delete e - to the end of current word including the last character

y - yank $ - to the end of line including the last character

~ - swap case G - move cursor to the end of file

> - shift text right k - move cursor up

< - shift text left

Operators, motions and counts


operator + motion
dw - delete from cursor to next word
de - delete from cursor to end of current word
count + motion
5e - move cursor to the end of fifth word forward
2b - move cursor two words backward
2G - go to line 2

operator + count + motion


d2w - delete next two words
>3$ - indent three lines
y10G - yank line 10

These are not exhaustive lists.

You might also like