ctrl + n
,vim代碼補全。i
當前位置插入,o
直接下一行插入。x
刪除當前字符。- 在末行模式,
:s/one/two
,將當前光標所在行的第一個one替換成two,後邊再加/g
表示該行的全部替換,如果是/gc
表示替換前詢問。:%s/^A/\t/g
,把^A
分割符替換成tab
,%
表示全局範圍查找,^A
是按ctrl+a
出來的。 一個數字n + j/k(或上下)鍵
,上下翻n頁。h/l
是左右。dd
剪切光標所在的一整行,5dd
剪切從光標開始的5行。yy
複製光標所在行,5yy
複製從光標開始的5行。dG
剪切當前行至最後一行,dgg
剪切當前行至第一行,y
也類似。p
將之前剪切(d)或複製(y)過的數據粘貼到光標所在行下一行,P
粘貼在上一行。/
進入向下搜索模式,?
是向上搜索,n
搜下一個,N
搜上一個。- 按
v
可以移動光標選擇區域,按Ctrl+v
可以縱向選擇,按Shift+v
可以整行選取。選中之後可以y
複製。gg
+Shift+v
+G
全選(gg
第一行,G
最後一行)。 - 多行縮進,按
Shift+v
選取需要的行,按Shift+>
縮進一個tab,按Shift+<
縮回一個tab。 :set nu
顯示行號。:set paste
粘貼模式。u
撤銷上一步操作(undo),Ctrl+r
重做(redo)。
#附錄:
手感類似IDE的vi設置,修改~/.vimrc
文件如下:
set nocompatible
set number
set nobackup
filetype on
set history=1000
set syntax=on
set autoindent
set smartindent
set tabstop=4
set softtabstop=4
set shiftwidth=4
set showmatch
set matchtime=1
set guioptions=T
set ruler
set incsearch
set completeopt=preview,longest,menu
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
vi設置參考:
http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
http://iybk.blog.163.com/blog/static/19409510020117571224963/