翻譯:Linux中國/Fan Li
linux.cn/article-9323-1.html
原文:http://linuxtechlab.com/working-vi-editor-basics/
VI 編輯器是一個基於命令列的、功能強大的文字編輯器,最早為 Unix 系統開發,後來也被移植到許多的 Unix 和 Linux 發行版上。
在 Linux 上還存在著另一個 VI 編輯器的高階版本 —— VIM(也被稱作 VI IMproved)。VIM 只是在 VI 已經很強的功能上添加了更多的功能,這些功能有:
-
支援更多 Linux 發行版,
-
支援多種程式語言,包括 python、c++、perl 等語言的程式碼塊摺疊,語法高亮,
-
支援透過多種網路協議,包括 http、ssh 等編輯檔案,
-
支援編輯壓縮歸檔中的檔案,
-
支援分屏同時編輯多個檔案。
接下來我們會討論 VI/VIM 的命令以及選項。本文出於教學的目的,我們使用 VI 來舉例,但所有的命令都可以被用於 VIM。首先我們先介紹 VI 編輯器的兩種樣式。
命令樣式
命令樣式下,我們可以執行儲存檔案、在 VI 內執行命令、複製/剪下/貼上操作,以及查詢/替換等任務。當我們處於插入樣式時,我們可以按下 Escape(Esc)鍵傳回命令樣式
插入樣式
在插入樣式下,我們可以鍵入檔案內容。在命令樣式下按下 i 進入插入樣式。
建立檔案
我們可以透過下述命令建立一個檔案(LCTT 譯註:如果該檔案存在,則編輯已有檔案):
$ vi filename
一旦該檔案被建立或者開啟,我們首先進入命令樣式,我們需要進入輸入樣式以在檔案中輸入內容。我們透過前文已經大致上瞭解這兩種樣式。
退出 Vi
如果是想從插入樣式中退出,我們首先需要按下 Esc 鍵進入命令樣式。接下來我們可以根據不同的需要分別使用兩種命令退出 Vi。
-
不儲存退出 – 在命令樣式中輸入 :q!
-
儲存並退出 – 在命令樣式中輸入 :wq
移動游標
下麵我們來討論下那些在命令樣式中移動游標的命令和選項:
-
k 將游標上移一行
-
j 將游標下移一行
-
h 將游標左移一個字母
-
i 將游標右移一個字母註意:如果你想透過一個命令上移或下移多行,或者左移、右移多個字母,你可以使用 4k 或者 5j,這兩條命令會分別上移 4 行或者右移 5 個字母。
-
0 將游標移動到該行行首
-
$ 將游標移動到該行行尾
-
nG 將游標移動到第 n 行
-
G 將游標移動到檔案的最後一行
-
{ 將游標移動到上一段
-
} 將游標移動到下一段
除此之外還有一些命令可以用於控制游標的移動,但上述列出的這些命令應該就能應付日常工作所需。
編輯文字
這部分會列出一些用於命令樣式的命令,可以進入插入樣式來編輯當前檔案
-
i 在游標所在行的行首插入內容
-
I 在游標所在行的行尾插入內容
-
a 在當前游標之前插入內容
-
A 在當前游標之後插入內容
-
o 在當前游標所在行之前新增一行
-
O 在當前游標所在行之後新增一行
刪除文字
以下的這些命令都只能在命令樣式下使用,所以首先需要按下 Esc 進入命令樣式,如果你正處於插入樣式:
-
dd 刪除游標所在的整行內容,可以在 dd 前增加數字,比如 2dd 可以刪除從游標所在行開始的兩行
-
d$ 刪除從游標所在行開始的所有行
-
d^ 刪除從檔案開始直到游標所在行的所有行
-
dw 刪除從游標所在位置直到下一個詞開始的所有內容
複製與黏貼
-
yy 複製當前行,在 yy 前新增數字可以複製多行
-
p 在游標之後貼上複製行
-
P 在游標之前貼上複製行
上述就是可以在 VI/VIM 編輯器上使用的一些基本命令。在未來的教程中還會繼續教授一些更高階的命令。如果有任何疑問和建議,請在下方評論區留言。
●本文編號435,以後想閱讀這篇文章直接輸入435即可
●輸入m獲取到文章目錄
C/C++程式設計
更多推薦《18個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。