高級一些的編輯器,都會包含宏功能,vim當(dāng)然不能缺少了,在vim中使用宏是非常方便的::qx 開始記錄宏,并將結(jié)果存入寄存器xq 退出記錄模式@x 播放記錄在x寄存器中的宏命令稍微解釋一下,當(dāng)在normal模式下輸入:qx后,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模式,然后輸入@x對剛才記錄下來的命令進(jìn)行重復(fù),此命令后可跟數(shù)字,表示要重復(fù)多少次,比如@x20,可以重復(fù)20次。這個在文本的批處理中是非常有用的。同時編輯多個文件在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標(biāo)簽頁功能了,可以支持同時編輯多個文件。標(biāo)簽命令:tabe fn 在一個新的標(biāo)簽頁中編輯文件fngt 切換到下一個標(biāo)簽頁gT 切換到上一個標(biāo)簽頁:tabr 切換到第一個標(biāo)簽頁:tabl 切換到最后一個標(biāo)簽頁:tabm [N] 把當(dāng)前tab移動到第N個tab之后對,正如你所想象的那樣,跟eclipse, ue等的標(biāo)簽頁是一個意思!窗口命令ctrl+w s 水平分割窗口ctrl+w w 切換窗口ctrl+w q 退出當(dāng)前窗口(由于同時有多個文件,此命令不會影響其他窗口)ctrl+w v 垂直分割窗口其他vim在保存之前不會對文件做實(shí)際的修改,只是加載到緩沖區(qū)中,對文件的編輯其實(shí)是對緩沖區(qū)的編輯,直到:w時才會存入物理文件。:e file 把file加載到新的緩沖區(qū)中:bn 跳轉(zhuǎn)到下一個緩沖區(qū):bd 刪除緩沖區(qū)(關(guān)閉文件):sp fn 分割窗口,并將fn加載到新的窗口中退出編輯器:w 將緩沖區(qū)寫入文件,即保存修改:wq 保存修改并退出:x 保存修改并退出:q 退出,如果對緩沖區(qū)進(jìn)行過修改,則會提示:q! 強(qiáng)制退出,放棄修改查找替換/pattern 向后搜索字符串pattern?pattern 向前搜索字符串patternn 下一個匹配(如果是/搜索,則是向下的下一個,?搜索則是向上的下一個)N 上一個匹配(同上):%s/old/new/g 搜索整個文件,將所有的old替換為new:%s/old/new/gc 搜索整個文件,將所有的old替換為new,每次都要你確認(rèn)是否替換復(fù)制粘貼dd 刪除光標(biāo)所在行dw 刪除一個字(word)x 刪除當(dāng)前字符X 刪除前一個字符D 刪除到行末yy 復(fù)制一行,此命令前可跟數(shù)字,標(biāo)識復(fù)制多行,如6yy,表示從當(dāng)前行開始復(fù)制6行yw 復(fù)制一個字y$ 復(fù)制到行末p 粘貼粘貼板的內(nèi)容到當(dāng)前行的下面P 粘貼粘貼板的內(nèi)容到當(dāng)前行的上面]p 有縮進(jìn)的粘貼,vim會自動調(diào)節(jié)代碼的縮進(jìn)"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板附:比如常用的一個寄存器就是系統(tǒng)寄存器,名稱為+,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。移動光標(biāo)在vim中移動光標(biāo)跟其他的編輯器中有很大的區(qū)別,不過一旦學(xué)會了,就會飛速的在文本中移動了。h,j,k,l 上,下,左,右ctrl-f 上翻一頁ctrl-b 下翻一頁% 跳到與當(dāng)前括號匹配的括號處,如當(dāng)前在{,則跳轉(zhuǎn)到與之匹配的}處w 跳到下一個字首,按標(biāo)點(diǎn)或單詞分割W 跳到下一個字首,長跳,如end-of-line被認(rèn)為是一個字e 跳到下一個字尾E 跳到下一個字尾,長跳b 跳到上一個字B 跳到上一個字,長跳0 跳至行首,不管有無縮進(jìn),就是跳到第0個字符^ 跳至行首的第一個字符$ 跳至行尾gg 跳至文件的第一行gd 跳至當(dāng)前光標(biāo)所在的變量的聲明處[N]G 跳到第N行,如0G,就等價于gg,100G就是第100行fx 在當(dāng)前行中找x字符,找到了就跳轉(zhuǎn)至; 重復(fù)上一個f命令,而不用重復(fù)的輸入fxtx 與fx類似,但是只是跳轉(zhuǎn)到x的前一個字符處Fx 跟fx的方向相反),( 跳轉(zhuǎn)到上/下一個語句* 查找光標(biāo)所在處的單詞,向下查找# 查找光標(biāo)所在處的單詞,向上查找`. 跳轉(zhuǎn)至上次編輯位置在屏幕上移動H 移動光標(biāo)到當(dāng)前屏幕上最上邊的一行M 移動光標(biāo)到當(dāng)前屏幕上中間的一行L 移動光標(biāo)到當(dāng)前屏幕上最下邊的一行書簽ma 把當(dāng)前位置存成標(biāo)簽a`a 跳轉(zhuǎn)到標(biāo)簽a處編輯r 替換一個字符J 將下一行和當(dāng)前行連接為一行cc 刪除當(dāng)前行并進(jìn)入編輯模式cw 刪除當(dāng)前字,并進(jìn)入編輯模式c$ 擦除從當(dāng)前位置至行末的內(nèi)容,并進(jìn)入編輯模式s 刪除當(dāng)前字符并進(jìn)入編輯模式S 刪除光標(biāo)所在行并進(jìn)入編輯模式xp 交換當(dāng)前字符和下一個字符u 撤銷ctrl+r 重做. 重復(fù)上一個編輯命令~ 切換大小寫,當(dāng)前字符g~iw 切換當(dāng)前字的大小寫gUiw 將當(dāng)前字變成大寫guiw 將當(dāng)前字變成小寫>> 將當(dāng)前行右移一個單位<< 將當(dāng)前行左移一個單位(一個tab符)== 自動縮進(jìn)當(dāng)前行插入模式i 從當(dāng)前光標(biāo)處進(jìn)入插入模式I 進(jìn)入插入模式,并置光標(biāo)于行首a 追加模式,置光標(biāo)于當(dāng)前光標(biāo)之后A 追加模式,置光標(biāo)于行末o 在當(dāng)前行之下新加一行,并進(jìn)入插入模式O 在當(dāng)前行之上新加一行,并進(jìn)入插入模式Esc 退出插入模式可視模式標(biāo)記文本v 進(jìn)入可視模式,單字符模式V 進(jìn)入可視模式,行模式ctrl+v 進(jìn)入可視模式,列模式,類似于UE的列模式o 跳轉(zhuǎn)光標(biāo)到選中塊的另一個端點(diǎn)U 將選中塊中的內(nèi)容轉(zhuǎn)成大寫O 跳轉(zhuǎn)光標(biāo)到塊的另一個端點(diǎn)aw 選中一個字ab 選中括號中的所有內(nèi)容,包括括號本身aB 選中{}括號中的所有內(nèi)容ib 選中括號中的內(nèi)容,不含括號iB 選中{}中的內(nèi)容,不含{}對標(biāo)記進(jìn)行動作> 塊右移< 塊左移y 復(fù)制塊d 刪除塊~ 切換塊中內(nèi)容的大小寫
posted on 2012-06-28 16:25
風(fēng)輕云淡 閱讀(392)
評論(0) 編輯 收藏 引用 所屬分類:
Linux