Table of Contents
Click to follow link
VIM Commands
I’m 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.
/<string>
- 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.