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