Linux中國

使用 Vi/Vim 編輯器:基礎篇

VI 編輯器是一個基於命令行的、功能強大的文本編輯器,最早為 Unix 系統開發,後來也被移植到許多的 Unix 和 Linux 發行版上。

在 Linux 上還存在著另一個 VI 編輯器的高階版本 —— VIM(也被稱作 VI IMproved)。VIM 只是在 VI 已經很強的功能上添加了更多的功能,這些功能有:

  • 支持更多 Linux 發行版,
  • 支持多種編程語言,包括 python、c++、perl 等語言的代碼塊摺疊,語法高亮,
  • 支持通過多種網路協議,包括 http、ssh 等編輯文件,
  • 支持編輯壓縮歸檔中的文件,
  • 支持分屏同時編輯多個文件。

接下來我們會討論 VI/VIM 的命令以及選項。本文出於教學的目的,我們使用 VI 來舉例,但所有的命令都可以被用於 VIM。首先我們先介紹 VI 編輯器的兩種模式。

命令模式

命令模式下,我們可以執行保存文件、在 VI 內運行命令、複製/剪切/粘貼操作,以及查找/替換等任務。當我們處於插入模式時,我們可以按下 EscapeEsc)鍵返回命令模式

插入模式

在插入模式下,我們可以鍵入文件內容。在命令模式下按下 i 進入插入模式。

創建文件

我們可以通過下述命令建立一個文件(LCTT 譯註:如果該文件存在,則編輯已有文件):

$ vi filename

一旦該文件被創建或者打開,我們首先進入命令模式,我們需要進入輸入模式以在文件中輸入內容。我們通過前文已經大致上了解這兩種模式。

退出 Vi

如果是想從插入模式中退出,我們首先需要按下 Esc 鍵進入命令模式。接下來我們可以根據不同的需要分別使用兩種命令退出 Vi。

  1. 不保存退出 - 在命令模式中輸入 :q!
  2. 保存並退出 - 在命令模式中輸入 :wq

移動游標

下面我們來討論下那些在命令模式中移動游標的命令和選項:

  1. k 將游標上移一行
  2. j 將游標下移一行
  3. h 將游標左移一個字母
  4. l 將游標右移一個字母
    注意:如果你想通過一個命令上移或下移多行,或者左移、右移多個字母,你可以使用 4k 或者 5l,這兩條命令會分別上移 4 行或者右移 5 個字母。
  5. 0 將游標移動到該行行首
  6. $ 將游標移動到該行行尾
  7. nG 將游標移動到第 n 行
  8. G 將游標移動到文件的最後一行
  9. { 將游標移動到上一段
  10. } 將游標移動到下一段

除此之外還有一些命令可以用於控制游標的移動,但上述列出的這些命令應該就能應付日常工作所需。

編輯文本

這部分會列出一些用於命令模式的命令,可以進入插入模式來編輯當前文件

  1. i 在當前游標位置之前插入內容
  2. I 在游標所在行的行首插入內容
  3. a 在當前游標位置之後插入內容
  4. A 在游標所在行的行尾插入內容
  5. o 在當前游標所在行之後添加一行
  6. O 在當前游標所在行之前添加一行

刪除文本

以下的這些命令都只能在命令模式下使用,所以首先需要按下 Esc 進入命令模式,如果你正處於插入模式:

  1. dd 刪除游標所在的整行內容,可以在 dd 前增加數字,比如 2dd 可以刪除從游標所在行開始的兩行
  2. d$ 刪除從游標所在位置直到行尾
  3. d^ 刪除從游標所在位置直到行首
  4. dw 刪除從游標所在位置直到下一個詞開始的所有內容

複製與黏貼

  1. yy 複製當前行,在 yy 前添加數字可以複製多行
  2. p 在游標之後粘貼複製行
  3. P 在游標之前粘貼複製行

上述就是可以在 VI/VIM 編輯器上使用的一些基本命令。在未來的教程中還會繼續教授一些更高級的命令。如果有任何疑問和建議,請在下方評論區留言。

via: http://linuxtechlab.com/working-vi-editor-basics/

作者:Shusain 譯者:ljgibbslf 校對:wxy

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


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

對這篇文章感覺如何?

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

    You may also like

    Leave a reply

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

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

    More in:Linux中國