Vim的基本操作

2020-08-12 23:12:43

VIM的基本使用

——嵌入式學習002

一、背景

在嵌入式的學習中,通常需要在終端模式下進行文字編輯或者修改檔案。一般是使用 vim 編輯器,Ubuntu 自帶了vim編輯器,但是vim編輯器和windows下的編輯器在使用上有很大不同。vim 編輯器是一種基於指令式的編輯器,不需要滑鼠,也沒有選單,僅僅使用鍵盤就可以完成所有的編輯工作,這也是vim快速高效率編輯的一大原因。

二、準備

由於vim的安裝設定比較簡單,此處將略過vim在各種系統環境的中的安裝設定過程。本文中的vim的基本操作案例將會在linux環境下進行。
在學習進行基本操作之前,有必要先瞭解一下 「模式介面」 。簡單來講,現代主流的文字編輯器都是 「無模式介面」「無模式」 指的是每個介面元素都只有一個功能,每個按鈕都對應於螢幕上的一個字母或某種其他操作,每個按鍵(或組合鍵)總是做同樣的事:此應用程式總是以單一模式來執行操作。比如在記事本中編輯,任何時候輸入「o」,就只是執行在文字中插入「0」字元。而 」模式介面「 就是介面元素能夠根據上下文的不同,輸入同一個按鈕,會產生不同的結果。比如在模式編輯器vim中輸入「o」,如果是在插入模式下,則是在文字中插入「o」字元,如果是在其他模式下,則可能執行的是在遊標下新增新行。
「模式編輯器」 讓文字處理就像是與編輯器進行了一次親密對話,而且是用同樣的語言與編輯器進行交流,比如「在vim中編輯時通過命令d3w[剛好是刪除(delete)3個單詞(word)的英文縮寫]可以刪除後面3個詞;通過命令ci"[改變(change)引號裏面(inside)的英文縮寫]則可以改變引號裏面的文字。」
使用Vim,文字編輯將變的更從容。
本篇中主要涉及vim的三種模式:命令模式、正常模式和插入模式,其它模式暫不介紹。

三、範例

本節將根據檔案常規操作流程的順序來展示範例。

1、開啓檔案

$ vim animal_farm.py      "建立/開啓animal_farm.py檔案

如果之前已經打開了vim,則可在vim中輸入如下命令來開啓這個檔案:

: e animal_farm.py				」 ":"進入vim的命令模式,「e" 表示編輯(edit)

開啓檔案後,vim預設處於正常模式(normal mode ),這中模式下,輸入的每個鍵都對應與某個命令,比如此時輸入「i」,vim將進入插入模式(insert mode)(進入插入模式後,它會在底部的狀態列中顯示-- INSERT --字樣),進入插入模式有如下幾種命令:

指令 描述
i 在當前遊標所在字元的前面,轉爲編輯模式。
I 在當前遊標所在行的行首轉換爲編輯模式。
a 在當前遊標所在字元的後面,轉爲編輯模式。
A 在遊標所在行的行尾,轉換爲編輯模式。
o 在當前遊標所在行的下方,新建一行,並轉爲編輯模式。
O 在當前遊標所在行的上方,新建一行,並轉爲編輯模式。

2、儲存退出檔案

在vim中輸入完成後,想要儲存文字,可以按下Esc 鍵,進入正常模式,在此模式下輸入「:」,進入命令模式,在命令模式下可輸入如下幾種命令來儲存或退出檔案:

命令 描述
x 儲存當前文件並且退出。
q 退出。
w 儲存文件 。
q! 退出 vi/vim,不儲存文件。

注意: vim儲存文字的命令是在命令模式中,在正常模式裡是不能執行文字的儲存退出命令的,但是在正常模式下可以進行以下幾類操作:
1)、移動遊標

命令 描述
h (或左方向鍵) 遊標左移一個字元。
l (或右方向鍵) 遊標右移一個字元。
j (或下方向鍵) 遊標下移一行。
k (或上方向鍵) 遊標上移一行。
nG 遊標移動到第 n 行首。
n+ 遊標下移 n 行。
n- 遊標上移 n 行。

2)、螢幕翻滾

命令 描述
Ctrl + f 螢幕向下翻一頁,相當於下一頁。
Ctrl + b 螢幕向上翻一頁,相當於上一頁。

3)、複製、刪除和貼上

命令 描述
cc 刪除整行,並且修改整行內容。
dd 刪除該行,不提供修改功能。
ndd 刪除當前行向下 n 行。
x 刪除遊標所在的字元。
X 刪除遊標前面的一個字元。
nyy 複製當前行及其下面 下麪 n 行。
p 貼上最近複製的內容。
s 刪除遊標所在字元。
r 替換遊標處字元。

由以上可以得出這樣一個大概的印象:vim的正常模式,主要是對文字進行瀏覽和簡單修改,插入模式則是對文字進行較多的文字內容插入,命令模式下,則是進行層次較高的命令操作,如儲存退出這種命令。

補充一點:在儲存退出vim編輯後,在Linux終端可以使用下列命令直接檢視編輯後的檔案:

$ cat animal_farm.py

3、查閱VIM幫助手冊

Vim提供了一個學習工具:help命令

: help
:help cc			"檢視cc命令的幫助手冊
:help search-commands			"檢視search命令的幫助資訊,之所以加「-commands」,是因爲直接輸入:help search  命令得到的是白哦大師評估而不是命令的說明

4、關於交換檔案

預設情況下,Vim用交換檔案跟蹤檔案的變化情況。當使用者編輯檔案的時候,Vim會自動產生交換檔案。交換檔案的作用是恢復檔案內容,以防止使用者的Vim、SSH對談或系統崩潰。一旦出現上述問題,或者由於其他失誤意外地退出Vim,再次用Vim開啓同一個檔案時,就會看到一個提示訊息,這時,可以輸入「r」從交換檔案中恢復檔案,或者輸入「d」直接忽略交換檔案。如果讀者決定從交換檔案中恢復,爲了避免下次開啓此檔案時再次出現這個提示,可以輸入「d」刪除交換檔案。

四、後記

本篇介紹了vim的簡單使用,主要是檔案基本的瀏覽、修改、編輯以及儲存等最基本的操作。對於vim的各種設定,外掛的使用以及更高階的操作暫時不作深入探討。
在學習vim的時候,搜到了一本《Vim8文字處理實戰》感覺還算是比較適合新手學習。