效率,效率,效率!!!
首先说下vi、vim、gvim的关系,vi是Linux OS的文本编辑器,vim是vi improced,gvim是GUI of vi。gvim支持两种模式:editing and command mode。还有.vim是gvim的highlight word file,.vimrc是configuration file of VI。vi和vim打开和编辑文件都是在terminal上进行,gvim会打开GUI界面进行编辑,不占用terminal,更方便处理文件。
基本命令:
:i →go to editing mode
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
移动光标命令:
h|j|k|l:h(left)|j(down)|k(up)|l(right)
:w→move forward one word , 前面加n,即nw移动n word
:b→move backward one word, 前面加n,即nb移动n word
:$→move to the end of a line
:^→move to the beginning of a line
:gg→go to the first line
:G→go to the last line
:nG→go to the n line, 使用n+gg也可以达到目的
:set nu:set number line
:set nonu
CTRL+G:display the total number of lines
CTRL+U:page up
CTRL+D:page down
删除、复制、粘贴 :
d=delete, y=copy, p=paste
dd:delete a line eg. 5dd
dw: delete a word eg. d3w
d0:delete to begin of line
d$:delete to end of line
yy:copy a line et. 5yy
yw:copy a word
y0:copy to begin of line
y$:copy to end of line
Y:copy a line
:5,10y :copy 5 ~ 10 line
:,10y : copy cursor ~ 10 line
:5,y :copy 5 ~ cursor line
:p:paste
:. : rpeat last operation
:x : delete a character eg. 3x
撤销编辑:
:u|U : undo | redo(好像不行)
:CTRL+R : need the modification,和u有点相反的意思
插入光标:
:a|A : a is enter the cursor after the current character,A is enter the cursor after the end of a line
:i|I : i is enter the cursor before the current character,A is enter the cursor before the begin of a line
:o|O : o is input one new line under the current line,O is input one new line up the current line
查询:
:/pattern : go to the pattern
: n|N
:?pattern :go to the pattern
: n|N
SHIFT + * : match the word marked cursor
:number_line : go to the number line
gg
gd:select current word
gf:go to current file path
替换:
: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
:n,ms/x/y/g :x change to y on the n to m line
特别操作:
:sp : splite horizontally ; put some files into one terminal
:vsp : visual splite vertically
CRTL + WW : change file in split command,在file之间跳转
:q or ZZ : quit a splite file
CRTL + V : visual mode
SHIFT + i : insert mode for editing
SHIFT + a : insert mode for editing
ESC :Mactch visual mode
CRTL + O : return the original file
J :Merge the under line and the current line eg. 3J
~ :change case-sensitive character