vim_basic
#——————–Vim Basic———————————————–
#file name : vim_basic
#author : LGP
#date : 2018-07-11
#contact : lgp_0615@163.com
#——————————————————————————
#———————summary————————————————–
vi is an powerful file editor for programming in Linux OS.
vim : vi improved
gvim : GUI of vi
.vim : highlight word file (璇硶楂樹寒)
.vimrc : configuration file of VI (瀛椾綋銆佽儗鏅鑹?
two mode : editing(insert) and command mode
#——————file operation———————————————-
#——–open a file————————————-
vi file_name : open a file for editing on a terminal
vim file_name :
gvim file_name : gvim is a GUI of vi
ctrl + 6 : 涓や釜鏂囦欢涔嬮棿鍒囨崲
:bn : 涓嬩竴涓枃浠?
:bp : 涓婁竴涓枃浠?
:ls : 鎵撳崱鏂囦欢鍒楄〃
:b1-n : 鍒囨崲鑷崇n涓枃浠?
# when open a file, vi is in insert mode by default
i : go to insert mode(before cursor)
a : go to insert mode(after cursor)
s :
o : go to insert mode(next line)
esc : go to command mode
:w : write into the file (save)
:q : quit vi
:q! : force to quit and abort the modification
:wq : save and quit
#—————-move cursor ————————————
->/<- : left/right/up/down
h|j|k|l : h(left)| j(down)| k(up)| l(right)
: 3h | 4j | 5k | 6l
w : move forward on word eg. 3w
b : move backward one word eg. 4b
$ : move to the end of line
^|0 : move to the beginning of a line
#————————————
gg : go to the first line
G : go to the last line
nG : go to n line eg. 1G
:number : go to n line
:set nu : set number line
:set nonu
CTRL + G : display the current line and total numbers of lines
CTRL + U : page up
CTRL + D : page down
#———-delete copy and paste———————————
d = delete, y = copy, p = paste
dd : delete a line eg. 5dd
dw : delete a word eg. d3w
d0 : delete to beginning of line
d$ : delete to end of line
yy : copy a line eg. 5yy
yw
y0
y$
Y : copy
:5,10y : copy 5 – 10 line
:,10y : copy cursor – 10 line
:5,y : copy 5 – cursor line
p : paste
. : repeate last operation
x : delete a character eg.3x
#————undo the editing ————————————
u|U : undo | redo
CTRL + r : undo
#————-insert cursor ————————————–
a|A : after the cursor | end of a line
o|O : input one new line under the current line | up the current line
:help a
#————search ———————————————
:/pattern : go to the pattern
: n|N
:?pattern :
SHIFT + * : match the word before marked cursor
SHIFT + # : match the word after marked cursor
:number_line: go to the number line
#————-replace———————————————-
:r|R : replace
:%s/x/y/g : x change to y all of them
:s/x/y/g : x change to y on the current line
:s/x/y/ : x change to y on the current character
:10,23s/x/y/g :10 – 23 line,x change to y
#————–special operation———————————–
:sp file(tab) : split horizontally; put some files into one terminal
:vsp file : visual splite vertically
CTRL + w : change file in split command
:ZZ|q : quit a split file
:set diff : compare two files
gvimdiff file1 file2 : compare two files
CTRL + v : visual mode
: d|D, y|Y, r|R
SHIFT + i : insert mode for editing
ESC : Match visual mode
gf : go into file
CTRL + o : return the original file
#—————key completion————————————
ctrl + n
tab
#—————automatic matching parentheses——————-
%
#—————call shell command——————————–
:sh
:!cmd
#————-other command—————————————
J : merge the under line and the current line eg.3J
~ : change case-sensitive character