必知必會的 Vim 編輯器基礎命令

2020-03-30 12:07:00

如果你是一名系統管理員或者開發者,當你在終端工作時有時會需要編輯一個檔案。在 Linux 系統中有幾種檔案編輯器,你可以根據需求選擇合適的檔案編輯器。在這裡,我想推薦 Vim 編輯器。

為什麼推薦 Vim 編輯器

相對於建立新檔案,你更多是修改已經存在的檔案。在這種情況下,Vim 快捷鍵可以有效地滿足你的需求。

下列文章可以幫助你了解對檔案和目錄的操作。

什麼是 Vim

Vim 是被 Linux 管理員和開發者廣泛使用的最流行和功能強大的編輯器之一。它可以通過高度的自定義設定來提高文字編輯效率。它是在眾多 Unix 預設安裝的 Vi 編輯器的升級版。

Vim 通常被稱為“程式設計師的編輯器”,但並不限於此,它也可用於編輯任何型別的檔案。它具有許多功能,例如:多次復原、多視窗和緩衝區、語法高亮、命令列編輯、檔名補全、可視選擇等等。你可以使用 :help 命令來獲取線上幫助。

理解 Vim 的模式

Vim 有兩種模式,詳細介紹如下:

命令模式: 當啟動 Vim 編輯器後,預設處在命令模式下。你可以在檔案中移動並且修改內容,剪下、複製和貼上檔案的一部分,同時發出命令執行更多操作(按 ESC 鍵進入命令模式)

插入模式: 插入模式用於在給定的文件位置插入文字(按 i 鍵進入插入模式)

我如何知道我正使用哪種 Vim 模式呢?

如果你正在使用插入模式,你會在編輯器的底部看到 INSERT。如果編輯器底部沒有顯示任何內容,或者在編輯器底部顯示了檔名,則處於 “命令模式”。

命令模式下的游標移動

Vim 快捷鍵允許你使用不同的方式來移動游標:

  • G – 跳轉到檔案最後一行
  • gg – 跳轉到檔案首行
  • $ – 跳轉到行末尾
  • 0(數位 0) – 跳轉到行開頭
  • w – 跳轉到下一個單詞的開始(單詞的分隔符可以是空格或其他符號)
  • W – 跳轉到下一個單詞的開始(單詞的分隔符只能是空格)
  • b – 跳轉到下一個單詞的末尾(單詞的分隔符可以是空格或其他符號)
  • B – 跳轉到下一個單詞的末尾(單詞的分隔符只能是空格)

  • PgDn 鍵 – 向下移動一頁

  • PgUp 鍵 – 向上移動一頁

  • Ctrl+d – 向下移動半頁

  • Ctrl+u – 向上移動半頁

插入模式:插入文字

下面的 Vim 快捷鍵允許你根據需要在游標的不同位置插入內容。

  • i – 在游標之前插入
  • a – 在游標之後插入
  • I – 在游標所在行的開頭插入。當游標位於行中間時,這個鍵很有用
  • A – 在游標所在行的末尾插入。
  • o – 在游標所在行的下面插入新行
  • O – 在游標所在行的上面插入新行
  • ea – 在單詞的末尾插入

拷貝、貼上和刪除一行

  • yy – 複製一行
  • p / P – 將內容貼上到游標之後 / 之前
  • dd – 刪除一行
  • dw – 刪除一個單詞

在 Vim 中搜尋和替換匹配的模式

  • /模式 – 向後搜尋給定的模式
  • ?模式 – 向前搜尋給定的模式
  • n – 向後重複搜尋之前給定的模式
  • N – 向前重複搜尋之前給定的模式
  • :%s/舊模式/新模式/g – 將檔案中所有的舊模式替換為新模式
  • :s/舊模式/新模式/g – 將當前行中所有的舊模式替換為新模式
  • :%s/舊模式/新模式/gc – 逐個詢問是否檔案中的舊模式替換為新模式

如何在 Vim 編輯器中跳轉到特定行

你可以根據需求以兩種方式達到該目的,如果你不知道行號,建議採用第一種方法。

通過開啟檔案並執行下面的命令來顯示行號

:set number

當你設定好顯示行號後,按 :n 跳轉到相應的行號。例如,如果你想跳轉到第 15 行,請輸入:

:15

如果你已經知道行號,請使用以下方法在開啟檔案時直接跳轉到相應行。例如,如果在開啟檔案時直接跳轉到 20 行,請輸入下面的命令:

$ vim +20 [檔名]

復原操作/恢復上一次操作/重複上一次操作

  • u – 復原更改
  • Ctrl+r – 恢復更改
  • . – 重複上一條命令

儲存和退出 Vim

  • :w – 儲存更改但不退出 vim
  • :wq – 寫並退出
  • :q! – 強制退出