VIM Commands
I’am currently using
- VIM Editor for Python (iTerm)
- IdeaVim for Golang (IntellJ)
- VSCodeVim for JavaScript (VS Code)

Vim has 3 modes.
- Insert Mode
Write text - Normal Mode (Visual Mode)
Navigate and manipulate text - Command Mode
Can input a wide variety of commands.
Change Modes
- Normal Mode → Insert mode
i: insert
Enter insert mode- Insert at the beginning of the line
I - Insert end of the line
A - Insert at the nend of the word
ea
- Insert at the beginning of the line
-
Insert mode → Normal Mode
v: Visual
Enter visual mode
V
Enter linewise visual mode - Command mode
esc
Enter Command mode
Left, Down, Up, Right
-
Move Left
h -
Move Down
j -
Move Up
k -
Move Right
l
Undo, Redo
- Undo
u - Redo
ctr+r
Delete
-
Delete a character
x: Delete character after the cursor.
X: Delete character before the cursor. -
Delete a word
dw -
Delete the line
d+d: Delete current line. -
Delete to end of line.
D -
Delete number of lines.
\<#>d
d\<#>j: delete # of lines down(j)- e.g.
3d: Delete 3 lines.100d: Delete 100 lines.
- e.g.
Move cursor
-
Beginning of the file.
gg
[[Move to beginning of the file. -
End of the file.
G
]]
Move to end of the file. -
Move to the top of the screen.
H: High -
Move to the middle of the screen.
M: Middle -
Move to the bottom of the screen.
L: Low
Jumping around
- Jump to specific line.
:\<line#>- e.g.
:14: Will Jump to line 14.
:55: Will Jump to line 55.
- e.g.
-
Jump to end of a word.
e -
Jump to end of a word (before whitespace)
E -
Jump to beginning of next word.
w -
Jump to beginning of next word (before whitespace)
W -
Jump to previous beginning of word.
b -
Jump to previous beinning of word (before whitespace)
B -
Jump to beginning of the line.
0 -
Jump to end of the line.
$ -
Jump to next paragraph
} - Jump to previous paragraph
{
Scrolling screen
-
Move to current cursor position.
z -
Move forward a full screen.
ctr+f
f : forward -
Move backward a full screen.
ctr+b
b : backward -
Move forward half a screen.
ctr+d
d : down -
Move backward half a screen.
ctr+u
u : up
Find, Search
-
Find a word under cursor.
* -
Find a character after cursor in the line
f -
Serach string.
/\</code> - e.g
/baby: baby will be searched
/tiger: tiger will be searched
- e.g
Copy, Paste
-
Copy.
y
y : yank -
Copy the line.
yy -
Copy the current word.
yiw -
Copy to the end of the line.
y$: Copy from current cursor to the end of the line. -
Paste copied.
p: Paste after the cursor.
P: Paste before the cursor.
Add new lines.
-
Add new line before cursor.
o -
Add new line after cursor.
O
Indentation
-
Auto indentatation.
== -
Indent.
> -
Outdent.
<
Save, quite File
Save and quite in command mode.
-
Save it
:w: write -
Quit
:q: quite -
Force Quit
:q!
Quit w/o saving changes. -
Save and Quite
:wq
Save and quite file.