1 .vim 的幾種模式
正常模式:可以使用快捷鍵命令,或按:輸入命令列。
插入模式:可以輸入文字,在正常模式下,按i、a、o等都可以進入插入模式。
可視模式:正常模式下按v可以進入可視模式, 在可視模式下,移動游標可以選擇文字。按v進入可視行模式, 總是整行整行的選中。ctrl+v進入可視塊模式。
替換模式:正常模式下,按r進入。
2 基本移動
以下移動都是在normal模式下。
h或退格: 左移乙個字元;
l或空格: 右移乙個字元;
j: 下移一行;
k: 上移一行;
gj: 移動到一段內的下一行;
gk: 移動到一段內的上一行;
+或enter: 把游標移至下一行第乙個非空白字元。
-: 把游標移至上一行第乙個非空白字元。
w: 前移乙個單詞,游標停在下乙個單詞開頭;
w: 移動下乙個單詞開頭,但忽略一些標點;
e: 前移乙個單詞,游標停在下乙個單詞末尾;
e: 移動到下乙個單詞末尾,如果詞尾有標點,則移動到標點;
b: 後移乙個單詞,游標停在上乙個單詞開頭;
b: 移動到上乙個單詞開頭,忽略一些標點;
ge: 後移乙個單詞,游標停在上乙個單詞末尾;
ge: 同 ge ,不過『單詞』包含單詞相鄰的標點。
(: 前移1句。
): 後移1句。
: 後移1段。
fc: 把游標移到同一行的下乙個c字元處
fc: 把游標移到同一行的上乙個c字元處
tc: 把游標移到同一行的下乙個c字元前
tc: 把游標移到同一行的上乙個c字元後
;: 配合f & t使用,重複一次
,: 配合f & t使用,反向重複一次
上面的操作都可以配合n使用,比如在正常模式(下面會講到)下輸入3h, 則游標向左移動3個字元。
0: 移動到行首。
g0: 移到游標所在螢幕行行首。
^: 移動到本行第乙個非空白字元。
g^: 同 ^ ,但是移動到當前螢幕行第乙個非空字元處。
: 移動游標所在螢幕行行尾。
n|: 把游標移到遞n列上。
ng: 到檔案第n行。
:n 移動到第n行。
? 移動到最後一行。
h: 把游標移到螢幕最頂端一行。
m: 把游標移到螢幕中間一行。
l: 把游標移到螢幕最底端一行。
gg: 到檔案頭部。
g: 到檔案尾部。
翻屏ctrl+f: 下翻一屏。
ctrl+b: 上翻一屏。
ctrl+d: 下翻半屏。
ctrl+u: 上翻半屏。
ctrl+e: 向下滾動一行。
ctrl+y: 向上滾動一行。
n%: 到檔案n%的位置。
zz: 將當前行移動到螢幕**。
zt: 將當前行移動到螢幕頂端。
zb: 將當前行移動到螢幕底端。
基本插入
i: 在游標前插入;乙個小技巧:按8,再按i,進入插入模式,輸入=, 按esc進入命令模式,就會出現8個=。 這在插入分割線時非常有用,如30i+就插入了36個+組成的分割線。
i: 在當前行第乙個非空字元前插入;
gi: 在當前行第一列插入;
a: 在游標後插入;
a: 在當前行最後插入;
o: 在下面新建一行插入;
o: 在上面新建一行插入;
:r filename在當前位置插入另乙個檔案的內容。
:[n]r filename在第n行插入另乙個檔案的內容。
:r !date 在游標處插入當前日期與時間。同理,:r !command可以將其它shell命令的輸出插入當前文件。
改寫插入
c[n]w: 改寫游標後1(n)個詞。
c[n]l: 改寫游標後n個字母。
c[n]h: 改寫游標前n個字母。
[n]cc: 修改當前[n]行。
[n]s: 以輸入的文字替代游標之後1(n)個字元,相當於c[n]l。
[n]s: 刪除指定數目的行,並以所輸入文字代替之。
注意,類似cnw,dnw,ynw的形式同樣可以寫為ncw,ndw,nyw。
剪下和複製、貼上
[n]x: 剪下游標右邊n個字元,相當於d[n]l。
[n]x: 剪下游標左邊n個字元,相當於d[n]h。
y: 複製在可視模式下選中的文字。
yy or y: 複製整行文字。
y[n]w: 複製一(n)個詞。
y[n]l: 複製游標右邊1(n)個字元。
y[n]h: 複製游標左邊1(n)個字元。
yor d: 刪除(剪下)當前位置到行尾的內容。
d[n]w: 刪除(剪下)1(n)個單詞
d[n]l: 刪除(剪下)游標右邊1(n)個字元。
d[n]h: 刪除(剪下)游標左邊1(n)個字元。
d0: 刪除(剪下)當前位置到行首的內容
[n] dd: 刪除(剪下)1(n)行。
:m,nd 剪下m行到n行的內容。
d1g或dgg: 剪下游標以上的所有行。
dg: 剪下游標以下的所有行。
daw和das:剪下乙個詞和剪下乙個句子,即使游標不在詞首和句首也沒關係。
d/f:這是乙個比較高階的組合命令,它將刪除當前位置 到下乙個f之間的內容。
p: 在游標之後貼上。
p: 在游標之前貼上。
Vim 命令操作
vim命令操作 命令模式 dd編輯模式 末行模式 startpos,endpos 特定的第 行,例如s即第5行 當前行 最後一行 指定行範圃,左側起始行,右側結束行 指定行範困,左側超始行絕対編號,右側相対左側行號的偏移量 例如 3,7 1 1,全文 pattern 從游標所在赴起始向檔案尾部第一次...
vim操作命令
水平分割乙個視窗,瀏覽檔案系統 vex 垂直分割乙個視窗,瀏覽檔案系統 可以用grep或vimgrep查詢乙個模式都在哪些地方出現過,其中 grep是呼叫外部的grep程式,而 vimgrep是vim自己的查詢演算法。用法為 vim grep pattern g j files g的含義是如果乙個模...
linux操作命令 vim
qx 開始記錄巨集,並將結果存入暫存器x q 退出記錄模式 稍微解釋一下,當在normal模式下輸入 qx後,你對文字的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模 式,然後輸入 x對剛才記錄下來的命令進行重複,此命令後可跟數字,表示要重複多少次,比如 x20,可以重複20次。這個在文字的批...