Vim Commands 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 Python & QA Automation With Self-Paced Video Courses
Python | Selenium WebDriver | API Testing | SQL | Robot Framework | BDD (Cucumber)
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.