開始進(jìn)行編輯: 按 「 i 」 進(jìn)行插入編輯
結(jié)束編輯時:按 鍵盤上的“esc”鍵,然后按一下「 : 」冒號鍵進(jìn)入「Last line mode」,例如:: w filename (輸入 「w filename」將文章以指定的文件名filename保存)
: wq (輸入「wq」,存盤并退出vi)
: q! (輸入q!, 不存盤強制退出vi)
選中
v:按字符選擇, 經(jīng)常使用的模式
V:按行選擇
復(fù)制
- y, yy, yw比較常用
y:復(fù)制選中的內(nèi)容(經(jīng)常使用的模式)
yy:復(fù)制一行 (nyy:復(fù)制n行)
yw:復(fù)制一個詞,到空格結(jié)束 (nyw或者ynw,復(fù)制n個word,n為數(shù)字)
y^:復(fù)制當(dāng)前到行頭的內(nèi)容;
y$:復(fù)制當(dāng)前到行尾的內(nèi)容;
yG:復(fù)制至檔尾(nyG或者ynG,復(fù)制到第n行,例如1yG或者y1G,復(fù)制到檔尾)
剪切
- d, dd, dw比較常用
//剪切指令和復(fù)制指令差不多,區(qū)別就在于將y換成d,其他都一樣
d:剪切選中的內(nèi)容(經(jīng)常使用的模式)
dd:剪切一行(ndd:復(fù)制n行)
dw:剪切一個詞,到空格結(jié)束 (ndw或者dnw,剪切n個word,n為數(shù)字)
d^:剪切當(dāng)前到行頭的內(nèi)容;
d$:剪切當(dāng)前到行尾的內(nèi)容;
dG:剪切至檔尾(ndG或者ynG,剪切到第n行,例如1dG或者d1G,剪切到檔尾)
粘貼
p:粘貼 //將光標(biāo)移動到需要粘貼的地方按「 p 」即可
shift+Insert: 從外面將將內(nèi)容粘貼進(jìn)vim中 //需要在編輯模式下進(jìn)行操作
撤銷回退
u:撤銷
ctrl + r:回退撤銷
跳轉(zhuǎn)指令
*跳轉(zhuǎn)到指定的行: nG(n為行號)
G:跳轉(zhuǎn)至最后一行
gg:跳轉(zhuǎn)至第一行
Home:跳轉(zhuǎn)至行首
End:跳轉(zhuǎn)至行末
查詢指令
:/待查詢詞這種方式查詢不會區(qū)分大小寫, 通過n或者N進(jìn)行上一個或下一個的匹配- 讓光標(biāo)停留在單詞的第一個字母上,然后輸入yw拷貝該單詞,然后輸入
/(ctrl+r)0(顯示為/"0),回車,就查找到了第一個匹配的單詞,可以通過n或者N進(jìn)行上一個或下一個的匹配(這種方法和上面的方法實際一樣,只是不用自己輸入待查詢詞)- 將光標(biāo)停留在想要查詢的單詞的任意一個字母上面,然后輸入 Shift+*即可快速選中該單詞,并且可以通過n或者N進(jìn)行上一個或下一個的匹配 ,這種方式區(qū)分大小寫
統(tǒng)計查找字符串的數(shù)目
:%s/字符串//gn 或者 :%s/字符串/&/gn
# 字符串的輸入方式可以自己手動輸入,或者參照查詢指令中的第二種方法操作即yw拷貝單詞,命令中輸入(ctrl+r)0
:m,ns/字符串//gn
統(tǒng)計m到n行中字符串出現(xiàn)的次數(shù)