必知必會的 Vim 編輯器基礎(chǔ)命令
如果你是一名系統(tǒng)管理員或者開發(fā)者,當你在終端工作時有時會需要編輯一個文件。在 Linux 系統(tǒng)中有幾種文件編輯器,你可以根據(jù)需求選擇合適的文件編輯器。在這里,我想推薦 Vim 編輯器。
為什么推薦 Vim 編輯器
相對于創(chuàng)建新文件,你更多是修改已經(jīng)存在的文件。在這種情況下,Vim 快捷鍵可以有效地滿足你的需求。
什么是 Vim
Vim 是被 Linux 管理員和開發(fā)者廣泛使用的最流行和功能強大的編輯器之一。它可以通過高度的自定義配置來提高文本編輯效率。它是在眾多 Unix 默認安裝的 Vi 編輯器的升級版。
Vim 通常被稱為“程序員的編輯器”,但并不限于此,它也可用于編輯任何類型的文件。它具有許多功能,例如:多次撤銷、多窗口和緩沖區(qū)、語法高亮、命令行編輯、文件名補全、可視選擇等等。你可以使用 :help 命令來獲取在線幫助。
理解 Vim 的模式
Vim 有兩種模式,詳細介紹如下:
- 命令模式: 當啟動 Vim 編輯器后,默認處在命令模式下。你可以在文件中移動并且修改內(nèi)容,剪切、復(fù)制和粘貼文件的一部分,同時發(fā)出命令執(zhí)行更多操作(按 ESC 鍵進入命令模式)
- 插入模式: 插入模式用于在給定的文檔位置插入文本(按 i 鍵進入插入模式)
我如何知道我正使用哪種 Vim 模式呢?
如果你正在使用插入模式,你會在編輯器的底部看到 INSERT。如果編輯器底部沒有顯示任何內(nèi)容,或者在編輯器底部顯示了文件名,則處于 “命令模式”。
命令模式下的光標移動
Vim 快捷鍵允許你使用不同的方式來移動光標:
- G – 跳轉(zhuǎn)到文件最后一行
- gg – 跳轉(zhuǎn)到文件首行
- $ – 跳轉(zhuǎn)到行末尾
- 0(數(shù)字 0) – 跳轉(zhuǎn)到行開頭
- w – 跳轉(zhuǎn)到下一個單詞的開始(單詞的分隔符可以是空格或其他符號)
- W – 跳轉(zhuǎn)到下一個單詞的開始(單詞的分隔符只能是空格)
- b – 跳轉(zhuǎn)到下一個單詞的末尾(單詞的分隔符可以是空格或其他符號)
- B – 跳轉(zhuǎn)到下一個單詞的末尾(單詞的分隔符只能是空格)
- PgDn 鍵 – 向下移動一頁
- PgUp 鍵 – 向上移動一頁
- Ctrl+d – 向下移動半頁
- Ctrl+u – 向上移動半頁
插入模式:插入文字
下面的 Vim 快捷鍵允許你根據(jù)需要在光標的不同位置插入內(nèi)容。
- i – 在光標之前插入
- a – 在光標之后插入
- I – 在光標所在行的開頭插入。當光標位于行中間時,這個鍵很有用
- A – 在光標所在行的末尾插入。
- o – 在光標所在行的下面插入新行
- O – 在光標所在行的上面插入新行
- ea – 在單詞的末尾插入
拷貝、粘貼和刪除一行
- yy – 復(fù)制一行
- p / P – 將內(nèi)容粘貼到光標之后 / 之前
- dd – 刪除一行
- dw – 刪除一個單詞
在 Vim 中搜索和替換匹配的模式
- /模式 – 向后搜索給定的模式
- ?模式 – 向前搜索給定的模式
- n – 向后重復(fù)搜索之前給定的模式
- N – 向前重復(fù)搜索之前給定的模式
- :%s/舊模式/新模式/g – 將文件中所有的舊模式替換為新模式
- :s/舊模式/新模式/g – 將當前行中所有的舊模式替換為新模式
- :%s/舊模式/新模式/gc – 逐個詢問是否文件中的舊模式替換為新模式
如何在 Vim 編輯器中跳轉(zhuǎn)到特定行
你可以根據(jù)需求以兩種方式達到該目的,如果你不知道行號,建議采用第一種方法。
通過打開文件并運行下面的命令來顯示行號
- :set number
當你設(shè)置好顯示行號后,按 :n 跳轉(zhuǎn)到相應(yīng)的行號。例如,如果你想跳轉(zhuǎn)到第 15 行,請輸入:
- :15
如果你已經(jīng)知道行號,請使用以下方法在打開文件時直接跳轉(zhuǎn)到相應(yīng)行。例如,如果在打開文件時直接跳轉(zhuǎn)到 20 行,請輸入下面的命令:
- $ vim +20 [文件名]
撤銷操作/恢復(fù)上一次操作/重復(fù)上一次操作
- u – 撤銷更改
- Ctrl+r – 恢復(fù)更改
- . – 重復(fù)上一條命令
保存和退出 Vim
- :w – 保存更改但不退出 vim
- :wq – 寫并退出
- :q! – 強制退出