大家來學VIM(一個歷久彌新的編輯器)[三]
|
進入 i-mode 的指令 |
i 在游標所在字元前開始輸入文字(insert)。 a 在游標所在字元後開始輸入文字(append)。 o 在游標所在行下開一新行來輸入文字(open)。 I 在行首開始輸入文字。
A 在行尾開始輸入文字。
O 在游標所在行上開一新行來輸入文字。 J 將下一行整行接至本行(Joint)。
刪除指令 |
x 刪除游標所在處之字元。在 vim 及 elvis 亦可用 Del 鍵。 X 刪除游標前之字元。不可使用 Backspace 鍵。
dd 刪除一整行(delete line)。 dw 刪除一個字(delete word)。不能適用於中文。 dG 刪至檔尾。 d1G 刪至檔首。或 dgg(只能用於 vim)。 D 刪至行尾,或 d$(含游標所在處字元)。 d0 刪至行首,或 d^(不含游標所在處字元)。
取代及還原 |
r 取代游標所在處之字元。vi(m) 很有個性的,您在 c-mode 按 了 r 她就會停在那裡等主人鍵入所要替代的字元,希望您這 個當主人的,不要傻呼呼的也楞在那裡,趕快鍵入您的新字元 吧!:-)
R 取代字元至按 Esc 為止。 cc 取代整行內容。或大寫 S 亦可。 cw 替換一個英文字(word),中文不適用。(change) ~ 游標所在處之大小寫互換。當然不能用於中文。別忘了 Shift! C 取代至行尾,即游標所在處以後的字都會被替換。或 c$。 c0 取代至行首,或 c^。 s 替換一個字元為您所輸入的字串。和 R 不同,R 是覆蓋式的取 代,s 則是插入式的取代,您可親自實驗看看。ㄟ!是小寫的 s。 u 這個太重要了,就是 undo,傳統的 vi 僅支援一次 undo,vim 及 elvis 就不只了,vim 是沒有限制的。 U 在游標沒離開本行之前,回復所有編輯動作。 Crtl+r 這個也是很重要,就是 redo 鍵。
加上數目字 |
喔!騷到 vi(m) 的癢處了,這是 vi(m) 一個非常騷包的功能,只此一家別無分號(當然同源的 ed,sed 等不在此限)。就是您可以在大部份的指令前加上數目字,代表要處理幾次的意思。以下用實例來說明比較清楚。
5dd 刪除游標所在處(含)起算以下五行內容。妙吧! 3r 按了 3r 後,您鍵入一個英文字,則三個字元皆會被您所鍵 入的英文取代。很抱歉,這不能用於中文。 5J 將五行合併成一行。 3x 刪除三個字元。抱歉,不能用於中文。 5i A 然後按 Ecs,插入五個 A。中文也可以! 2i system Esc 插入 systemsystem。中文也可以! 5G 游標移至第五行,是從檔首開始起算。 5l 移至右第五個字元處,當然 j 是可以用方向鍵取代的。 所有移動指令(參考第二單元)都可以加上數目字來控制,中 文也通喔!elvis 當然是不能用於中文。
其它的指令和數目字結合,就留待各位去發掘吧!最重要的是請您親自操作看看,使用 vi(m) 常常要動動腦筋,會有更妙的操作方式。
簡單重排功能 |
>> 整行向右移一個 shiftwidth(預設是 8 個字元,可重設)。 << 整行向左移一個 shiftwidth(預設是 8 個字元,可重設)。
:ce(nter) 本行文字置中。注意是冒號命令! :ri(ght) 本行文字靠右。 :le(ft) 本行文字靠左。
gqip 整段重排。中文會出槌!:-( gqq 本行重排。
前單元 | 次單元 | 目 錄 |