Vim motion
Special
. = Repeat previous sequence
* = Search for word under caret
= = Reindent selection
== = Reindent line
q = Record macro (advanced use)
@ = Run macro (advanced use)
Actions
c = Change
v = Select
V = Select line
r = Replace
d = Delete
D = Delete remainder of current line
x = Delete (backspace)
X = Delete (forwards)
y = Yank (Copy)
yy = Yank line (Copy)
p = Paste (in front of caret)
P = Paste (Behind caret)
Actions can usually be combined with context, and/or motion.
Contexts I usually use:
i = inner
a = all or surrounding
t = html tag
b = block of parenthesis ()
B = block of squiggly brackets {}
Some examples:
dit = Delete everything inside a tag.
Eg.:
1<span>Lorem ipsum</span>
Would become:
1<span></span>
_dt> = Goto beginning of line and delete until the next >
Result:
1></span>
Motions
h = Left
j = Down
k = Up
l = Right
f = Go forward (including char)
t = Go to (excluding char)
F = Go backwards (reverse f)
T = Go backwards to (reverse t)
w = Next word
e = End of word
b = Beginning of word
_ = Beginning of line (excluding whitespace)
0 = Beginning of line
gg = Beginning of file
G = End of file
% = Go to other end of matching character, ie.: (), {}, [] etc..
{ = Previous paragraph
} = Next paragraph
; = Repeat motion forwards
, = Repeat motion backwards
Cmd + d replacement (multiline editing)
* Search for the next word to replace.
N Go back to previous word (back to start).
ciw Replace inner word, enters insert mode.
Type the replacement then hit esc to go back to normal mode.
n To go to next occurrence of the word.
. Repeat the inner word replacement.
Misc
zz = Center screen to cursor
Written by Eivin Landa • May 8, 2024 • Updated May 10, 2024