Vim Commands Cheat Sheet

vim-command-cheat-sheet

Vim is a powerful and popular text editor that runs on the command line. Using Vim you will navigate around on screen with a keyboard instead of a mouse. It has a steep learning curve, but it can greatly improve your productivity once you master it. Here are some basic Vim commands to help you get started:

 

Frequently used commands :

 

i  –   insert before the cursor

gg  –   move cursor to the top of page

Esc  –   exit insert mode

yy  –   yank (copy) a line

: number  –   show line number

p  –    (paste) the clipboard after the cursor

/pattern  –   search for pattern

:q  –   quit (fails if there are unsaved changes)

n  –   repeat search in same direction

:wq   or  : x  or   ZZ  –  write (save) and quit

$  –   move cursor to end of line

:w  –   write (save) the file, but don’t exit

GG  –   move cursor to bottom of page

 

 
 
commands to move the cursor:
 

h –   move cursor left

 

L  –   move to bottom of screen

 

j –   move cursor down

 

w  –   jump forwards to the start of a word

 

k  –   move cursor up

 

W  –   jump forwards to the start of a word (words can contain punctuation)

 

l  –   move cursor right

 

e  –   jump forwards to the end of a word

 

gj  –   move cursor down (multi-line text)

 

E  –   jump forwards to the end of a word (words can contain punctuation)

gk  –   move cursor up (multi-line text)

 

b  –   jump backwards to the start of a word

 

H  –   move to top of screen

 

B  –   jump backwards to the start of a word (words can contain punctuation)

 

M  –   move to middle of screen

 

 
commands for Editing:
 

r –   replace a single character.

 

s  –    delete character and substitute text

 

R –   replace more than one character, until ESC is pressed.

 

S  –    delete line and substitute text (same as cc)

 

J –   join line below to the current one with one space in between

 

xp  –   transpose two letters (delete and paste)

 

gJ –   join line below to the current one without space in between

 

u  –   undo

 

cc  –    change (replace) entire line

 

U  –   restore (undo) last changed line

 

c$ or C –    change (replace) to the end of the line

 

Ctrl + r –    redo

 

ciw  –    change (replace) entire word

 .  –    repeat last command

 

cw or ce –    change (replace) to the end of the word

 

 

 
commands for saving and exiting:
 

:w  –   write (save) the file, but don’t exit

 

:q  –    quit (fails if there are unsaved changes)

 

:w !sudo tee %  –    write out the current file using sudo

 

:q!  or   ZQ  –    quit and throw away unsaved changes

 

:wq  or  : x or ZZ  –   write (save) and quit

 

:wqa  –    write (save) and quit on all tabs

 

 
command for search and replace:
 

/pattern  –   search for pattern

 

n  –   repeat search in same direction

 

?pattern  –   search backward for pattern

 

N  –   repeat search in opposite direction

 

 

commands for cut and paste:
 

yy  –   yank (copy) a line

 

y$   or   Y  –   yank (copy) to end of line

 

2yy  –   yank (copy) 2 lines

 

p  –    put (paste) the clipboard after cursor

 

yw  –   yank (copy) the characters of the word from the cursor position to the start of the next word

 

P  –   put (paste) before cursor

 

yiw  –   yank (copy) word under the cursor

 

dd  –   delete (cut) a line

 
 

 

Visual commands:
 

>  –    shift text right

 

~  –    switch case

 

<  –   shift text left

 

u  –   change marked text to lowercase

 

y  –    yank (copy) marked text

 

U  –   change marked text to uppercase

 

d  –    delete marked text

 

 

Learn the complete Python programming language

Read more

Stay connected with news and updates!

Join our mailing list to receive the latest news and updates from our team.
Don't worry, your information will not be shared.

We hate SPAM. We will never sell your information, for any reason.