Vim基礎:日常操作的簡單指令

儘管Vim是一款源自早期的文本編輯器,但它在今天的軟體開發領域仍然不可或缺。無論是研發人員還是品質保證工程師,都可能會在伺服器上直接編輯文件的情況下遇到需要使用Vim的場景。在使用如Python、JavaScript、PHP等直譯式語言時,尤其在緊急情況下,直接在伺服器上修改代碼雖不是最佳方法,但有時卻是必要的選擇。例如,曾經我就有臨時需要直接在伺服器上修改自動化測試腳本或調整測試所需資料的情況。因此,我整理了一些在這些情況下我認為最常用的Vim指令。

前置作業

通常在Mac或是Linux的多個版本裡面,Vim都是內建在系統中的,要確認是否存在Vim只要在終端機中使用version指令即可:

vim --version

若出現如下圖畫面就能確認系統中存在Vim,不過裡面的內容可能會稍微不同,但這應該不影響下面的操作指令:

接下來可以找一個空的資料夾輸入下面指令來製作練習的檔案,下面的操作也都會使用這個檔案來做操作範例:

curl http://www.example.com -o example.html

之後在同個路經中輸入下面指令,就可以正式開始了:

vim example.html

整體操作如下:


日常操作的簡單指令

操作時,要注意鍵盤是在英文輸入法且不要鎖定在大寫模式。
另外下方看到大寫G,就代表是鍵盤Shift+G,依此類推。
若是gg,就是連點兩次鍵盤上的G,依此類推。

移動至你想要的位置

下面的範例都可以觀察這個透明白白的方塊:

↑、↓、←、→ 一格一格移動:

G 移動至檔案的最下方:

gg 移動至檔案的第一行:

10gg10G 移動至指定行數,以第10行為例:

/body + Enter 進入搜尋模式搜尋檔案內特定文字,以搜尋body為例:

在搜尋特定文字時使用 n 尋找下一個:

在搜尋特定文字時使用 N 尋找上一個:

編輯你想要的內容

x 剪下一個字元:

p 貼上複製、剪下的內容:

yy 複製目前游標這一行,用 p 貼上:

dd 刪除目前游標這一行:

u 復原上一個動作:

i 進入Insert模式:

在Insert模式下使用 Esc 離開Insert模式:

結束你的編輯

:q + Enter 沒有任何編輯,直接退出檔案:

若編輯過會看到 “E37: No write since last change (add ! to override)”
此狀況需使用以下方法退出
:q! + Enter 有編輯過,放棄這次的編輯退出:

:wq + Enter 有編輯過,儲存這次編輯後退出:

結語

以上是我在過去工作中常用的一些Vim指令。事實上,Vim提供了許多更高效的快捷指令,熟練掌握後您將發現它提升了極高的編輯效率。儘管本文範例只涉及單一文件視窗,但Vim的功能卻遠不止於此,它還支持多文件視窗操作、多行編輯等高級功能。希望這些基礎指令能夠滿足您的日常需求。當您準備深入探索時,我相信Vim還有更多功能等待您去發掘。