Vim
http://www.viemu.com/a-why-vi-vim.html
And also this classic answer: https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim
Core concepts
In vim you have the concept of buffers.
# List buffers
:buffers
# Switch buffer
# By number
b1
b2
# By name
b [name]
# Close/delete a buffer
:bdelete
:bd
Movement - Motion commands
Left,up,down,right
hjkl
start of line
0 (zero)
end of line
$
beginning of next word
w
beginning of next word, defined by white space
W
end of the next word
e
end of the next word, defined by white space
E
back to the beginning of previous word
b
back to the end of previous word
B
go to next character of your choice
If you want to go to the next comma
f,
start of file
gg
end of file
G
Operators
Operators are commands that do things. Like delete, change or copy.
c - changece - change until end of the word.c$ - change until end of line.
Combining Motions and Operators
Now that you know some motion commands and operator commands. You can start combining them.
dw - delete wordd$ - delete to the end of the line
Count - Numbers
You can add numbers before motion commands. To move faster.
4w - move cursor three words forward0 - move curso to the start of the line
You can use numbers to perform operations.d3w - delete three words
3dd - delete three lines
Replace
If you need to replace a character, there is no need to enter insert-mode. You can just use replace
Go to a character and the press r followed by the character you want instead.
rp if you want to replace p.
R
Clipboard
In order to copy something FROM vim to the OS-clipboard you can do this:
The " means that we are not entering a registry. And the * means the OS-clipboard. So we are yanking something and putting it in the OS-clipboard registry.
"*y
Substitute - Search and replace
:s/thee/the/g
Entering insert-mode
i - current charactero - next lineO - line beforea - end of wordA - end of line
.vimrc
Here is all your vim-configuration.
Plugins
Install vundle here
https://github.com/VundleVim/Vundle.vim
Add plugin
Add plugin to your .vimrc-file and then open vim and write
:PluginInstall