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
Additional Commands
:q - Quit.
:wq - Save and close.
:syntax on - Turn on Syntax highlighting for C programming and other languages.
:history - Shows the history of the commands executed
:set number - Turn on the line numbers.
:set nonumber - Turn off the line numbers.
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.
Contains optional runtime configuration settings to initialize Vim when it starts. Example: If you want Vim to have syntax on and line numbers on, whenever you open vi, enter syntax on and set number in this file.
##Sample contents of .vimrc
syntax on
set number
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
References
https://bitvijays.github.io/LFF-ESS-P0B-LinuxEssentials.html