Я не использую vim, потому что не знаю, как из него выйти :) шутка вокруг этого забавная, но для меня vim - лучший.

Итак, я вставлю сюда команды, которые я использую чаще всего и которые могут быть полезны в качестве руководства для вас, кто хочет дать vim шанс (он того заслуживает!).

# Change mode
# Exit edit mode
Esc
# Entry edit mode inserting on current position
i
# Entry edit mode inserting at the beginning of the line
I
# Entry edit mode inserting after the current position
a
# Entry edit mode inserting at the end of the line
A
# Entry edit mode inserting a line below
o
# Entry edit mode inserting a line above
O
# Navigation
# goto line
:[0–9]+         #ex. :9 goes to line 9
# goto the last line of the file
G (shift+g)
# page up
ctrl+u
#page down
ctrl+f
# goto beginning of the line
^ or 0
# goto end of the line
$
# goto next word
w
# Edit
# substitute a word
cw
# change everything till end of line
c$
# change everything till a character
ct<char>
# copy a line
yy
#copy word
yw
# paste after
p
#paste before
P
# delete a character
x
# delete a line
dd
# delete a word
dw
# delete till end of line
d$
# delete till end of file
dG
# global substitute
:%s/<search_term>/<replace_term>/g
# delete all lines based on search term
:g/<search_term>/d
# Search
# find on text after cursor
/<search_tearm>
# find on text before cursor
?<search_tearm>
# find next (used in / or ? )
n or :/
# find previous (used in / or ?)
N or :?

# Other
# repeat last operation 
.
# undo an operation
u
# mark a line with a "char" that you can use with other navigation / edit commands
m<char>         # ex. i'm in a line and i ma (mark as a). I can then do stuff like y'a (copy till mark a), d'a, 'a (goto mark a). Note that you can use several marks! 
# execute a command in terminal temporarily and come back to vim (i use this a lot for pwd)
:! <command>
# execute a command inside vim (Will take effect on existent content, replaces it. I use this one a lot for sorting my content - :%! sort -u)
:%! <command>
# EXIT :)
# quit (nothing to save)
:q
# quit without saving
:q!
# save and exit
:wq
# jump to next file
:n
# open another file without exiting
:e <filename>
# save n line from this file to another
: <line1>,<line2> w <filename>     # writes from ine1 to line2 to the filename