1、vim編輯器的模式轉換
vim編輯器有三種模式:命令模式,編輯模式,末行模式,三種模式相互轉換的方式如上圖所示,其中插入模式無法直接進入到末行模式;
2、vim的主要命令
1)在命令模式中使用I(大寫的i)、i、A、a、O(大寫的o)、o均可以進入到插入模式當中,其中的區別:
I:是在光標所在行的行首進行插入;
i:是在光標所在位置的前面進行插入;
A:是在所在行的行尾進行插入;
a:是在光標所在位置的後面進行插入;
O:是在光標所在行的上面生成一條空行,從行首開始插入;
o:是在光標所在行的下面生成一條空行,從行首開始插入;
如下圖:
2)yy:複製整行。在命令模式下,在光標所在行連按兩次yy可以複製該行的整行內容;
3)n(數字)yy:複製光標所在行及其後面n-1行的內容(共n行),如4yy,複製當前行在內的向下4行內容;
4)p:在使用了 yy命令進行復制後,直接按p可以粘貼複製的內容(會複製到光標所在行的下方);
5)dd:在命令模式下,在某行按下dd,可以刪除光標所在行的整行內容;
6)n(數字)dd:刪除光標所在行及其後面n-1行的內容(共n行),如4dd,刪除當前行在內的向下4行內容;
7)dd+p/ndd+p:dd的命令實際上是執行了剪切的操作,因此在執行了dd或者ndd後,再在光標所在行按下p後,
仍然可以複製到當前行的下一行;
8)h 光標向前移動👈🏻;
l(小寫的L)光標向後移動👉🏻;
j光標向下移動👆🏻;
k光標向下移動👇🏻;
9)H:光標會定位到當前屏幕顯示內容的第一行的行首;
M:光標會定位到當前屏幕顯示內容的中間行的行首;
L:光標會定位到當前屏幕顯示內容的最後一行的行首;
10)ctrl+b:向上翻一屏;
ctrl+f:向下翻一屏;
ctrl+u:向上翻半屏;
ctrl+f:向下翻半屏;
11)n(數字)G:光標快遞定位到第n行的行首;
G:光標快速定位到整個文件最後一行的行首;
gg:光標快速定位到整個文件第一行的行首;
12)w:以單詞爲單位,光標跳到下一個單詞的首字母;
b:以單詞爲單位,光標跳到上一個單詞的首字母;
13)D:剪切(刪除)該行光標所在位置一直到該行行尾的所有內容;
d0:剪切(刪除)該行光標所在位置一直到該行行首的所有內容;
dw:刪除光標所屬的整個單詞;
14)u:撤銷剛剛的操作;
ctrl+r:反撤銷;
15)x:一次刪除一個字符,往後刪,相當於windows的delete鍵;
X:一次刪除一個字符,往前刪,相當於windows的baskspace鍵;
16)v:配合上下左右命令實現字符的選中;
V:配合上下左右命令實現整行的選中;
17)>>:向右縮進(mac好像是shift+>);
<<:向左鎖緊(mac是shift+<);
18){:光標移動到所屬代碼塊的第一行的行首;
}:光標移動到所屬代碼塊的最後一行的行尾;
19).:重複上一次的命令;
20)r+字符:替換光標選中的字符,只能替換一個字符;
R:可以替換光標選中字符及其後面的字符;
21)/+字符或單詞:命令模式下輸入/+字符或單詞,可以查找字符或單詞;
n:可以選擇下一個匹配的字符或單詞;
N:可以選擇上一個匹配的字符或單詞;
22):1,10s/abc/123/g:在末行模式下,將第一到第十行中,所有的abc替換爲123;
:%s/abc/123/g:將該文件中所有的abc提花爲123;
23):set number:顯示行號;
:set nonumber:不顯示行號;
24):w:保存;
:q:退出,在未修改文件內容時不報錯,可以直接退出不提示;若修改了內容後執行q命令,會提示需要輸入感嘆號;
:wq:保存並退出;
:x:保存並退出;
:q!:強制退出,不保存;
shift+zz:在命令模式下執行此命令,等同於:wq,保存並退出。
25)在Linux命令行中輸入vi test.txt + 11,可以在打開文件的同時光標在第11行閃爍。