vi 是終端中的編輯器薇搁。在數(shù)據(jù)工作中,我們要對 launcher 服務(wù)器上的 shell 文件進行修改,可以使用 ssh 遠程登陸到服務(wù)器上挖胃,使用 vi 快速編輯即可。vim 是從 vi 上發(fā)展出來的一個文本編輯器梆惯,支持代碼補全酱鸭、編譯以及錯誤跳轉(zhuǎn)等方便編程的功能,被程序員稱為編輯器之神垛吗。在很多 linux 發(fā)行版中凹髓,直接把 vi 做成 vim 的軟連接。在沒有圖形化界面的環(huán)境下怯屉,使用 vi 就是最好的選擇蔚舀!
vi 的核心設(shè)計思想:讓程序員的手指始終保持在鍵盤的核心區(qū)域,就能完成所有的編輯操作锨络。
vi 的特點:沒有圖形界面的功能強大的編輯器赌躺;只能是編輯文本內(nèi)容,不能對字體羡儿、段落進行排版(一般只是用來修改代碼或者是配置文件)
vi 三種模式的切換
- 打開文件會進入命令模式礼患,在該模式中可以執(zhí)行復(fù)制、跳轉(zhuǎn)行等操作掠归,
- 從命令模式進入到編輯模式
i
- 從命令模式進入到末行模式
:
- 從末行模式進入到命令模式
Esc
- 從編輯模式進入到命令模式
Esc
打開文件
-
vi test.py +16
vi 會打開 test.py文件缅叠,光標直接定位到16行 -
vi test.py
vi 會打開 test.py,光標定位到文件開頭 -
vi test.py +
vi 會打開 test.py虏冻,光標直接定位到文件末尾
末行模式命令
-
w
保存 -
q
退出痪署,如果沒保存,不允許退出 -
q!
強行退出兄旬,不保存 -
wq
保存并退出x = wq
精調(diào)移動
-
h
左移 -
j
下移 -
k
上移 -
l
右移
單詞移動
-
w
向后移動一個單詞 word -
b
向前移動一個單詞 back -
0
行首狼犯,空字符也算 -
^
行首,第一個不是空白字符的位置 -
$
行尾
行移動
-
gg
文件頂部 go -
G
文件末尾 -
數(shù)字gg
移動到數(shù)字行(以下3個基本不用) -
數(shù)字G
移動到數(shù)字行 -
:數(shù)字
移動到數(shù)字行
頁移動
-
ctrl + b
向上翻頁 back -
ctrl + f
向下翻頁 forward -
H
屏幕頂部 head -
M
屏幕中間 middle -
L
屏幕底部 low
程序移動/代碼括號移動
-
{
移動到上一段代碼 -
}
移動到下一段代碼 -
%
在括號間切換
撤銷命令和恢復(fù)撤銷
-
u
撤銷上次命令 undo(保命神技 领铐,可以一直u
到打開文件時的狀態(tài)) -
ctrl + r
恢復(fù)撤銷命令 redo(u
按多了悯森,可以ctrl + r
恢復(fù)一下)
刪除命令
-
x
刪除光標所在的字符,或者使用可視模式下選中的文字 -
dd
刪除光標所在的行 -
D
從光標位置刪除至行尾 -
dw
從光標位置刪除到單詞末尾 -
d0
從光標位置刪除到一行的起始位置 -
d}
從光標位置刪除到段落末尾 -
ndd
從光標位置向下連續(xù)刪除n行
可視模式
-
v
可視模式绪撵,從光標位置開始按照正常模式選擇文本 -
V
可視行模式瓢姻,選中光標經(jīng)過的完整行 -
ctrl + v
可視塊模式 ,垂直方向選中文本 -
Esc
放棄選中音诈,返回到命令模式