前言:
java
有了會vim的基本操做咱們還須要什麼呢?答案是錢!實際上是操做的技巧。熟練技巧性的vim,可以快速提升編輯文本的效率。linux
當你習慣使用vim時,不禁的會感嘆到:我彷彿進入了人間仙境,比個人初戀還要賽過百倍幸福百倍!牀前明月光,疑是滴上爽。舉頭望明月,低頭是故鄉~~好溼~~~好溼~~~!爲何?爲何!我竟從沒吃過這麼好吃的vim,我怕之後吃不到了怎麼辦?用了vim就是IT界食神外加玉樹臨風的整蠱專家,妙趣擋不住啊!shell
正題:vim
好比我想抄做業,但是太多了,怎麼辦?答案:打印做業!這是咱們就須要導入命令
windows
導入文件內容:code
:r! 命令或文件名 :r! date #導入時間,記得是何時寫的 :!which cat #在不退出vim的狀況下查看命令位置 :!man ls #查看ls的幫助信息
#(有時咱們要觸類旁通,這種命令還有不少就不細說了)
哎呀!我忘了加上註釋,這時就須要自定義快捷鍵,適合linux。class
windows須要將軟件安裝目錄下的_vimrc、gvimrc_example.vim、vimrc_example.vim刪除。
效率
自定義快捷鍵:軟件
按ctrl + v +所須要的自定按鍵,好比我以p鍵做爲自定按鍵
date
:map ^P I#<ESC> #I不知道你們還記得我寫的vim操做沒有,I是跳到當前行首,"#"表明註釋,輸入"<ESC>"表示插入完我想回到命令模式, #至關於入茅房擦完屁股,總得走出廁所。
ctrl+自定鍵與^自定鍵的區別,以p爲例:
ctrl+p是有顏色的如圖:
而^p是沒有顏色的如圖:
好比我想刪除當前行首註釋怎麼作呢?
按ctrl+v+b,好比我以b鍵做爲自定按鍵
:map ^B 0x #0跳到當前行首,x爲刪除光標字符前一個字符
好比我要插入郵箱該怎麼作呢?
按ctrl+v+h
:map ^H iexample@outlook.com<ESC> #咱們發現example多了個i,想到沒有?i插入,插入郵箱並回到命令模式
有時候咱們不僅一行註釋,多行註釋,或是多行去掉註釋,這時咱們不用快捷鍵怎麼作?
沒錯,咱們有命令!
4,100s/^/#/g #刪除4行到100行行首以#號的註釋,s表明範圍,這是^號了,表明行首,而不是定義快捷鍵的ctrl+v了,而/符是命令分隔符 #思考:咱們若是在vim寫java加上註釋,是否是4,100s/^////g呢? 答:不是,4,100s/^////g這樣寫vim就會分不清了,不知道哪一個是分隔符和插入內容, 須要另外的替換符表示純潔的"\","\"其實就是轉義字符!除定義執行操做命令的分隔符,每一個分隔後都須要加上,如:":4,100s/^/\/\//g" #思考:4,100s/#//g與4,100s/^#//g有什麼不一樣? 答:不一樣":4,100s/#//g"是將4到100行存在#符號的所有刪除。
有時咱們要捉弄ing人,就須要替換命令":ab",能夠理解爲輸入"a"變成"b"了,雖然不正確可是很形象
:ab mymail example@outlook.com #將輸入的mymail,替換成爲郵箱,輸入完以後空格或是回車生效!
以上的定義快捷鍵和命令都是即時生效而不是永久生效,永久生效在用戶家目錄下建立.vimrc
vi /root/.vimrc vi /home/user01/.vimrc #能夠把編輯模式命令寫入在.vimrc裏面
再次數奉上菊花寶典