[operator] [number] motion
esc)i):)v)i -> insert mode
I -> insert at the start of the line
o -> open a new line underneath in edit mode
shift + o -> open a new line above in edit mode
a -> append after the cursor
A -> append at the end of the line
r -> replace a single character
R -> replace mode
* -> go to the next occurrence of the word under the cursor
# -> go to the previous occurrence of the word under the cursor
esc -> switch from insert mode to command mode
. -> repeat the last command
: -> switch to ex mode
:wq -> write and quit
/ -> different parts/parameters of ex commands are separated by a slash
:sp -> split window horizontally
ctrl + w, ↓ -> switches panes
% -> go to matching parenthesis
f + char -> find/jump to the next occurrence of the character
ctrl + w, j -> switch panes
ctrl + o -> go to last cursor position/go back to where we were
ctrl + i -> go to next cursor position/go forward to where we were
!ls -> run a shell command, in this case ls
v + motion + :w test.txt -> save selection to a test.txt file
zz -> center line
r + !ls or text.txt -> replace the current character with the output of the command or the content of the file
ctrl + g -> show file name, line number/position and percentage of the file
d + i + " -> delete inside the quotes
d + i + ( -> delete inside the parenthesis
hjkl -> correspond to ←↑↓→
w -> to next word
b -> back a word
e -> to the end of the current word
$ -> to the end of the line
0 -> to the start of the line
gg -> to the start of a file
shift + g -> to end of a file
} -> to the end of the paragraph (meaning next empty line)
u -> undo
U -> undo all changes on a line
y -> copy (yank)
yw -> copy a word
x -> delete character
p -> put (paste) recently copied or deleted text
r -> replace, followed by the character to replace the current one
c -> change and go into insert mode, followed by the motion, e.g.
c$ -> change to the end of the line
cw -> change word
~ -> changes case (upper to lower and vice versa)
dd -> delete line
. -> do the same thing again
/ -> search
% -> apply to all lines
g -> grep
s -> search and replace
485G -> go to line 485
5dd -> delete 5 lines
d, shift + g -> delete to the end of a file
d, gg -> delete to the end of a file
shift + p -> paste above
2 + d + } -> delete 2 paragraphs
%g/^-/d -> search for all lines starting with a - and delete them
%g/^\s*$/d -> search for all lines starting with one or more emtpy spaces followed by the end of the line and delete them
%s/ / - / -> search for all lines with an empty space and replace it with ` - `, applies by default only to the first time it finds it
:s/thee/the -> search for thee and replace it with the
:s/thee/the/g -> search for thee and replace it with the globally
:#,#s/old/new/g -> search for old and replace it with new in the range of lines # to #
%s/old/new/gc -> search for old and replace it with new globally with confirmation
:!ls -> run a shell command
ctrl + n -> next element
ctrl + p -> previous element
remove additional information, just keep timestamps with caption
a) delete everything up to the next digit
d/^\d -> delete everything up to the next digit, then press . to repeat the command
b) delete everything with a hyphen
%g/^-/d -> search for all lines starting with a - and delete them
%g/^\s*$/d -> search for all lines starting with one or more emtpy spaces followed by the end of the line and delete them
insert a hyphen between timestamp and caption
%s/ / - / -> search for all lines with an empty space and replace it with ` - `, applies by default only to the first time it finds it