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