Linux中國

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

如果你是一名系統管理員或者開發者,當你在終端工作時有時會需要編輯一個文件。在 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! – 強制退出

via: https://www.2daygeek.com/basic-vim-commands-cheat-sheet-quick-start-guide/

作者:Magesh Maruthamuthu 選題:lujun9972 譯者:萌新阿岩 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國