目錄
1、移動光标操作
2、删除或剪切操作
3、複制操作
4、撤銷操作
5、替換操作
6、補充一個知識點
指令模式中的指令主要取代的是Linux系統中滑鼠的操作。
<code>vim</code>編輯器的快捷鍵一般都集中在指令模式下。
(1)上下左右移動光标
左、下、上、右方向鍵,對應<code>H、J、K、L</code>。
注:小鍵盤的上下左右鍵也行
(2)把光标移動到檔案頭或尾
<code>gg</code>:移動到檔案頭。
<code>G</code>:移動到檔案尾(shift+g)。
(3)移動到行首或行尾
<code>^</code>:移動到行首。
<code>$</code>:移動到行尾。
(4)移動到指定行
<code>:n</code>:移動到第幾行。
這裡<code>n</code>是數字,準備移動到第幾行,就用哪個數字。
(1)删除字母
<code>x</code>:删除單個字母。
<code>nx</code>:删除n個字母。
n是數字,如果打算從光标位置删除連續的10個字母,可以使用"10x”即可。
删除字母并不符合使用習慣,我們更習慣在輸入模式中,用"Backspace"鍵删除字母。
(2)删除整行或剪切
<code>dd</code>:删除單行。
<code>ndd</code>:删除多行(如3dd直接按就可以了,界面上沒有任何變動,輸入完3dd就會删除三行)。
<code>:n1,n2d</code>:删除指定範圍的行。(n1和n2表示行号,如從第五行删除到第十行,<code>:5,10d</code>,包含第5行和第10行)
删除整行或多行,這是比較常用的删除方法。這裡的<code>dd</code>快捷鍵既是删除,也是剪切。删除内放入了剪切闆,如果不粘貼就是删除,如果粘貼就是剪切。
粘貼方法如下:
<code>p</code>:粘貼到光标後(光标所在行的下一行)。
<code>P(大)</code>:粘貼到光标前(光标所在行的上一行)。
(3)從光标所在行删除到檔案尾
是否可以删除整篇文檔,<code>vim</code>沒有删除整篇文檔的快捷鍵,但是可以這樣:
<code>dG</code>:從光标所在行删除到檔案尾。
<code>d</code>是删除行,<code>G</code>是移動到檔案尾,連起來就是從光标所在行删除到檔案尾。如果把光标放在檔案首,那麼<code>dG</code>就變成了删除整篇文檔了。
<code>yy</code>:複制單行。
<code>nyy</code>:複制多行。
複制之後的粘貼,依然可以使用<code>p</code>鍵或<code>P(大)</code>鍵,同上。
<code>u</code>:撤銷。
<code>ctrl+r</code>:反撤銷。
<code>u</code>鍵能一直撤銷到檔案打開時的狀态,類似Windows下<code>ctrl+z</code>鍵的作用。 <code>ctrl+r</code>能一直反撤銷到最後一次操作狀态,類似Windows下<code>ctrl+y</code>鍵的作用。
<code>r</code>:替換光标所在處的字元。
<code>R</code>:從光标所在處開始替換字元,按ESC結束。
<code>r</code>鍵替換單一字元,不用進入輸入模式,實際使用時,比進入輸入模式删除後再修改,要友善。
我們在打開Linux系統的檔案時,常常出現下面情況:
出現上圖中的情況,說明你上次沒有正确退出<code>abc</code>檔案,導緻<code>abc</code>臨時的隐藏檔案<code>.abc.swp</code>,沒有被删除。(<code>.abc.swp</code>檔案就相當于在Windows系統中打開wrod文檔,也會有一個臨時檔案一樣。)
而Linux系統就會認為<code>abc</code>檔案正在被另一個使用者使用。
碰到這種情況一般都是非法關機導緻的。每次編輯<code>abc</code>檔案都會彈出這個資訊,需要按下回車才能打開檔案,會很麻煩,解決方法就是把<code>.abc.swp</code>檔案删除就可以解決了。