總結(jié)一下自己經(jīng)常用vim的一些技巧和操作,很基本的就不寫了,很高深的還有待以后補充:
:%s/abc/abcc/gc
c表示詢問
:$s/abc/abcc/ge
e表示即使整個文件沒找到一個匹配的目標(biāo)也不要報錯
:.,$s/yes/no
.表示當(dāng)前行,$表示最后一行。總體的語句表示從當(dāng)前行到最后一樣進行匹配
:s+one/two+one or two+g
用+替換/
:s/good\|nice/handsome/g
把good或nice替換成handsome
:s/aaa/bbb/g4
只替換4行
:4,9s/\d\+/\=submatch(0)+1/
第4到9行的數(shù)字加一
:%s/^\w/\=toupper(submatch(0))/g
首字母大寫
:%s/^/\=line(".").". "/g
加行號
/^abc
轉(zhuǎn)到以abc開始的行
ctrl+-> / ctrl + <-
一次移動一個單詞
30+ / 30-
向前/向后移動30行
ctrl+o / ctrl_i
跳到更老的位置/跳到更新的位置
{
跳到上一段
} 跳到下一段
‘“
跳到上次關(guān)閉文件時,在NOMAL模式下的光標(biāo)所在行
’^
跳到上次關(guān)閉文件時,在INSERT模式下的光標(biāo)所在行
qa
開始記錄宏(這里的a可以用任意一個字母代替)
q
結(jié)束宏記錄
@a
執(zhí)行名字為a的宏
ma
標(biāo)記此行為a
‘a
移到標(biāo)記為a的行
mA/'A
可以跨文件進行標(biāo)記
Insert模式下,ctrl+n / ctrl+p
補全
ctrl+a
重復(fù)上次在Insert模式下的動作
Insert模式下,ctrl+y / ctrl+e
重復(fù)上一行/下一行光標(biāo)處的字符
:iab xl xulei
當(dāng)鍵入xl(空格)時,會被替換成xulei
ctrl+x ctrl+n
在文件中補全以前出現(xiàn)過的單詞
ctrl+x ctrl+p
在文件中補全以前出現(xiàn)過的單詞
ctrl+x ctrl+l
在文件中補全以前出現(xiàn)過的一行
ctrl+x ctrl+f
補全文件名
ctrl+x ctrl+k
單詞補全
ctrl+x ctrl+t
同義詞補全
用v選中多行, 然后 !sort
可以實現(xiàn)排序
g ctrl+G(先按g然后按ctrl+G)
統(tǒng)計字?jǐn)?shù)(或先用v選中部分需要統(tǒng)計的文字)
將光標(biāo)移到一個函數(shù)上,K(大寫)
將自動man此函數(shù)
在一個vim文件中:grep abc *
將匹配到所有包好abc的文件 :cn下一個 :cp上一個 :cl文件列表
vim `grep -l abc *`
打開包含abc的所有文件
ctrl+c=esc
:history
命令記錄
q:
打開命令行歷史窗口
q/
打開查找歷史窗口
:w filename
另存為
:1,3w filename
1-3行另存為
Insert模式下,ctrl+w
刪除前一個單詞
Insert模式下,ctrl+u
刪除此行光標(biāo)前所有單詞
:set showmatch
當(dāng)鍵入if(i>0)的)的時候,光標(biāo)會跳到(處停留1/10秒,再回來
:set cindent shiftwidth=4
設(shè)置縮進
=a{
調(diào)整{}之間的縮進格式
gu
變小寫
gU
變大寫
光標(biāo)定位在數(shù)字上ctrl+a
增1
轉(zhuǎn)自:
posted on 2009-11-25 15:50
chatler 閱讀(399)
評論(0) 編輯 收藏 引用 所屬分類:
vi