vim的三種主要模式;
命令模式、插入模式、擴展模式

1、終端輸入 → ?命令模式:
vim /option/... 進入命令模式,光標默認行首。
vim +n /option/...進入命令模式,光標鎖定第n行、行首。
vim +/^... /option/...進入命令模式,光標鎖定已選定的第一個字符為行首。
vim + /option/...進入命令模式,光標鎖定段尾行的第一個字符為行首。
2、命令模式 ?→ ?插入模式:
i:進入插入模式,光標位置,進行編輯。
a:進入插入模式,光標后一位,進行編輯。
o:進入插入模式,在光標位置下,添加一個新行。
I:進入插入模式,在光標所在的行首輸入。
A:進入插入模式,在光標所在的行尾輸入。
O:進入插入模式,在光標上一行,行首輸入。
Esc鍵-----退出插入模式-----進入命令模式。
3.1、命令模式??→ ?擴展模式:
Shfit 加:鍵 .....進入擴展模式 ? ;
Esc、Enter鍵------退出擴展模式;
3.2、終端輸入→擴展模式:
ex ?/option/ :進入擴展模式
3.3、擴展模式:
:r--------------在擴展模式下將讀到文件內(nèi)容輸入到當前文件中。
:w-------------在擴展模式下將當前文件內(nèi)容寫入另一個文件中。
:!------------在擴展模式下輸入!(command)回車,顯示命令執(zhí)行結(jié)果,再回車回到命令模式 ? ? ? ? ? ? ? ? ? ? ? ?界面。
:r!-----------在擴展模式下輸入r?。╟ommand)回車,將命令內(nèi)容讀入到當前文件中。
4、退出vim:
:q -------------在沒有進行修改操作時,進入擴展模式輸入q退出。
:q! ------------在操作時進行了輸寫修改,不想保存時進入擴展模式輸入q!強行退出。
:wq -----------保存退出。
:wq!-----------強制保存退出。
:x ---------------保存退出。
:ZZ--------------在命令模式下,保存退出。
:ZQ--------------在命令模式下,不保存退出。
5、移動光標
命令模式下移動光標;(只能在命令模式下移動光標)
← h 、↓ j、 ↑k、 →?l ? ?:光標移動 ?左、下、上、右 ??
#h、#j、#k、#l、(#為數(shù)字)------執(zhí)行#次命令(h、j、k、l)、移動#個字符。
w----------跳至下一個單詞詞首·。
W----------跳至下一個空格后單詞詞首。
b------------跳至前一個單詞詞首.
B------------跳至前第二個空格后詞首。
H------------跳至頁首
M------------跳至頁中
L------------ 跳至頁尾
gg-----------跳至文件首部,行首。
G------------跳至文件尾部,行首。
:#----------跳至#行。
^--------------跳至行首的第一個非空白符。
0(數(shù)字)--跳至行首。
$--------------跳至行尾。
#G------------跳至#指定行首。
1G、gg-----跳至第一行行首。
句間移動;
(-------------跳至上一句。
)-------------跳至下一句。
段落間移動;
{ -------------跳至上一段。
} -------------跳至下一段。
翻屏操作;
ctrl+B--------向首部翻屏
ctrl+F--------向尾部翻屏
ctrl+U--------向首部翻半屏
ctrl+D--------向尾部翻半屏
6、命令界面操作,修改、刪除、復制;
x---------------刪除當前光標字符;
xp-------------交換當前所在的字符與光標后面的字符;如:root、orot
~--------------轉(zhuǎn)換大小寫;
J--------------刪除當前行的換行符;
r---------------替換當前光標所在位置的字符;(輸入的字符替換原有的字符)
R--------------模式替換(REPLACE)
d($、0、^、w、b)-----刪除
y($、0、^、w、b)------復制
c($、0、^、w、b)------修改
p------------------------------粘貼
7、擴展模式,地址定界、查找、替換
地址定界:(startpos,endpos)
# :-----------------------------第#行。
#,#:------------------------- 從左側(cè)第#行到右側(cè)第#行表示的行數(shù)。
#,+#:--------------------------從左側(cè)第#行起,到加上右側(cè)數(shù)字的行數(shù)。
.:--------------------------------當前行。
$:-------------------------------最后一行。
%:------------------------------全文,相當于1,$
/pat1/,/pat2/:-----------------從第一次被/pat1/模式匹配到的行開始,一直到第一次被/pat2/匹配到的行結(jié)果。
查找 ?:
/:(PATHERN)-----------從當前光標處向文件尾部查找。
?:(PATHERN)----------從當前光標處向文件首部查找。
n、N -----------------------------輔助使用
查找并替換;
s:--------------------------------在擴展模式下完成查找替換操作。
? ? ?(s/查找模式/要替換成的內(nèi)容/修飾符)
修飾符:
i:---------------------------------忽略大小寫
g:-----------------------------------全局替換
多文件模式;
next:-----------------------------切換到下一個文件。
provious:-----------------------切換到上一個文件。
last:------------------------------切換到最后一個文件。
first:------------------------------切換到第一個文件。
wqall:----------------------------保存所有文件。
8、多窗口模式
多文件:(vim -o a.txt b.txt......)
-o:--------------------------------水平分割
-O:-------------------------------垂直分割
在窗口間切換Ctrl+w,Arrow(上下左右箭頭)
單文件;
Ctrl+w,s:---------------------水平分割
Ctrl+w,v:---------------------垂直分割
窗口屬性定義;
set nu :-------------------------顯示行號
set nonu:-----------------------取消顯示行號
set ai:---------------------------啟用自動縮進功能
set noai:----------------------- 取消自動縮進功能
set ic:---------------------------忽略字符的大小寫
set noic:------------------------不忽略字符的大小寫
set sm:--------------------------括號匹配
set nosm:--------------------------取消括號匹配