本筆記有特殊目錄,點擊開啟: 專有目錄 在Linux系統中編輯文本總是離不開一位老幫手——Vi。而因為其誕生的年代有些久遠,有些操作在現在看來可能有點“反直覺”。 於是我決定寫這樣一篇小筆記,記錄一下我記憶Vi的這些這些 常用 操作和指令的方法(主要靠的是英語和圖示了)。 當然,正如“好記性不如爛筆 ...
本筆記有特殊目錄,點擊開啟:
在Linux系統中編輯文本總是離不開一位老幫手——Vi。而因為其誕生的年代有些久遠,有些操作在現在看來可能有點“反直覺”。
於是我決定寫這樣一篇小筆記,記錄一下我記憶Vi的這些這些 常用 操作和指令的方法(主要靠的是英語和圖示了)。
當然,正如“好記性不如爛筆頭”所言,多實踐才是熟練掌握技能的王道。
關於Vi/Vim名詞本身
-
Vi
代表的可能是Visual Instrument(可視工具)
,Visual Interface(可視界面)
亦或就是Visual(可視化的)
單詞本身。 -
Vim
倒是很明顯,代表的是Vi IMproved(Vi改進版)
。
編輯器模式
對Vi
而言:
-
命令模式 (
Command
mode) ,剛進入Vi編輯器時的預設模式。在此模式下能輸入Vi的合法指令(通常是一些字元)來進行操作。 -
插入(輸入)模式 (
Insert
mode) ,顧名思義,是直截了當地編輯文本的模式。 -
末行(底線)模式 (
Last-line
mode) ,也是接受指令的一種模式,更偏向於文件的管理。
之所以叫 “末行” 是因為指令的輸入在視窗最下方:
Vim
是Vi
的增強版,因此Vim
完全可以相容Vi
的操作,不過它的模式名可能略有差別:
-
正常模式 (
Normal
mode) ,是啟動Vim
後的預設模式。 -
插入模式 (
Insert
mode) ,這個和Vi
的一致。 -
命令(行)模式 (
Command-line
mode),類似Vi
的末行模式。 -
可視模式 (
Visual
mode) ,和普通模式類似,不同的是可以高光選擇文字的一部分進行命令操作。包括上述幾種模式,Vim總共有
12
種模式(這個說法來自Wikipedia)。但最常用的還是上面這四種,一般情況下夠用了。
模式切換
展開閱讀
就Vi
的三種模式而言,要在其間互相切換,需要借預設模式——命令模式作為一個中轉(對於Vim
來說就是正常模式)。
-
命令模式
作為進入
Vi
的預設模式,我們可以把這兒當作一個小家,
無論在哪個模式下按Esc
(可以記成Escape
[v.]逃離。逃回家了)都可以回到命令模式。(家是永遠的港灣啊)再提一嘴,在
Vim
里這個模式稱為正常模式。 -
插入模式
通過以下按鍵指令能進入插入模式。這些按鍵通常是大小寫成對的,小寫對應的指令略顯 “溫和” ,大寫對應的就比較 “走極端” 了。
-
i
/I
插入 (記作Insert [v]插入;嵌入;(在文章中)添加
)小寫的
i
,就是在游標所在位置進入插入模式:大寫的
I
則有點“極端”,會跳轉到當前游標所在行的開頭進入插入模式: -
a
/A
附加 (記作Append [v]增補,追加
)小寫的
a
,就是在游標所在位置之後一位進入插入模式,即所謂的“附加”:顯而易見,大寫的
A
就會跳轉到當前游標所在行的末尾進入插入模式(在尾部附加): -
o
/O
新增一行 (暫且記作Open
new line)都是新增行,差別無非是往下新增還是往上新增了。
小寫的
o
,就是在游標所在行的之後新建一行,然後進入插入模式:大寫的
O
呢,就比較蠻橫,會把游標所在行及其以下的行整體往下頂,在原位置新建一行(相對來說就是在游標所在行上面新建一行),然後進入插入模式: -
s
/S
剪切(取代) (可以直接記刪的拼音Shan
,也可以記成Substitute [v]取代
)小寫的
s
,會剪切游標所在位置右邊的字元,然後進入插入模式:大寫的
S
就很暴躁了,會剪切游標所在行,然後進入插入模式:記
Substitute
的話,可以理解為這個操作是剪切原有字元/行
後進行插入,取代原有的字元/行
。
-