vim:文本編輯器
vi:visual interface
vim: VI improved
全屏編輯器,模式化編輯器
- vim打開文件 vim /path/to/somefile
如果文件存在就表示打開文件,如果不存在就表示新建文件,并且編輯文件。
vim +12 inittab
打開文件并且光標在12行
vim + inittab
打開文件,光標在文件最下方
vim +/PATTERN
vim +/mul inittab
打開文件并在模式第一次匹配到的行的行首 - 關閉文件
vim模式:
編輯模式 :所有命令都理解為編輯整個文檔的(例如:粘貼,復制,刪除)
輸入模式:所有命令當作輸入內(nèi)容保存在文檔(被當作輸入內(nèi)容保存在文件中)
末行模式:可以輸入很多文檔管理命令(除了編輯命令的更多管理命令) - 默認是處于編輯模式的
模式轉(zhuǎn)換
編輯模式--> 輸入模式
i:在當前光標所有字符的前面,轉(zhuǎn)為輸入模式
a:在當前光標所在字符的后面,轉(zhuǎn)輸入模式
o:在當前光標所在行的下方,新建一行并轉(zhuǎn)輸入模式
I:在當前光標所在行的行首轉(zhuǎn)輸入模式
A:在當前光標所在行的行尾轉(zhuǎn)輸入模式
O:在當前光標所在行的上一行轉(zhuǎn)輸入模式
輸入模式--> 編輯模式
ESC:還原為編輯模式
編輯模式 --> 末行模式
:
:10,20d 刪除10-20行
:set nu 每一行顯示行號
:! 可以直接執(zhí)行shell命令
末行模式 --> 編輯模式
:ESC
關閉文件:
1.在末行模式下關閉文件
:wq(保存并退出)
:q!(不保存并退出)
:w?。ü芾韱T對只讀文件強行保存)
:x(保存退出)
2.編輯模下式退出
ZZ: (保存退出) - 移動光標
1.逐字符移動
h:向左
l:向右
j:向下
k:向上
5h:移動指定數(shù)目的字符,5h向左移動5個字符,在編輯模式下
2.逐單詞移動
w:移至下一個單詞的詞首
e:跳到當前單詞的詞尾,或下一個單詞的詞尾
b:跳至當前或前一個單詞的詞首
以上均支持前面加數(shù)字,表示跳n個單詞
3.以行為單位
0:快速跳至行首(絕對行首)
^ : 行首(非空白字符行首)
$:絕對行尾
4.行間跳轉(zhuǎn)
G:5G直接跳轉(zhuǎn)至5行,G最后1行
末行模式下,直接給出行號,回車即可 - 翻屏操作(編輯模式下)
Ctrl+f:向文件尾部翻屏
Ctrl+b:向上翻屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏 - 刪除單個字符
x:刪除光標所在處的單個字符,7x刪除7個字符 - 刪除命令d
d命令與跳轉(zhuǎn)命令組合使用,指定刪除部分
3dw:刪除跳轉(zhuǎn)符所指示范圍得3個
4de:
dd:刪除當前光標所在行
4dd:刪除當前光標所在行開始得4行 - 末行模式下:
10,20d:刪除10到20行
起始行,結(jié)尾行d
.:表示當前行
$:最后一行
+n:向下的n行 - 粘貼命令p
p:如果刪除的或復制的為整行內(nèi)容,則粘貼至光標所在行的下方,如果刪除的或復制的為非整行內(nèi)容,則粘貼至光標所在字符后面。
P :如果刪除的或復制的為整行內(nèi)容,則粘貼至光標所在行的前方,如果刪除的或復制的為非整行內(nèi)容,則粘貼至光標所在字符前面。 - 復制命令 y
用法同d命令 - 修改:先刪除內(nèi)容,再轉(zhuǎn)換為輸入模式
c:用法同d命令 - 替換:r
R:替換模式 - 撤銷編輯操作 u
u:撤銷前一次的編輯操作
連續(xù)u命令可以撤銷此前的n次編輯操作
nu:撤銷近n次編輯操作
撤銷最近一次操作:Ctrl+r - 重復前一次編輯操作
. - 可視化模式
v:按字符選取
V:按矩形選取 - 查找
/PATTERN
?PATTERN - 查找并替換:在末行模式下使用s命令(sed)