天天看點

『學了就忘』vim編輯器基礎 — 95、指令模式中的相關指令

目錄

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>檔案删除就可以解決了。