標籤:
vim(vimsual)是Linux/UNIX系列OS中通用的全屏編輯器。
vim分為兩種狀態,即命令狀態和編輯狀態,在命令狀態下,所鍵入的字元系統均作命令來處理,如:q代表退出,而編輯狀態則是用來編輯文本資料的。當你進入vim時,會首先進入命令狀態。在命令狀態下,按”i”(插入)或”a”(添加)可以進入編輯狀態,在編輯狀態,按ESC鍵進入命令狀態。
在命令狀態下,有如下一些常用命令:
新增:
a 從游標後面開始添加文本
A 從游標所在行的末尾開始添加文本
插入:
i 從游標前面開始插入文本
I 從游標所在行的開始處插入文本
刪除與修改:
x 刪除游標處的字元
dd 刪除游標所在的整行
3dd 刪除游標所在行以及下面的兩行
D 刪除游標到行尾的文本,常用語刪除備註陳述式 (d$)
游標移動:
在遠程登入模式下,vim不支援PageUp、PageDown、Home、End等功能鍵!(鬱悶吧)
^ 游標移動到行首
$ 游標移動到行尾
Ctrl+d 向下翻半頁
Ctrl+f 向下翻一頁
Ctrl+u 向上翻半頁
Ctrl+b 向上翻一頁
gg 游標定位到文檔頭
G 游標定位到文檔尾
H 游標定位到當前頁首
L 游標定位到當前頁的最後一行的行首
w 游標往後移一個字
b 游標往前移一個字
[n]+ 游標向後移動n行,[n]表示一個整數
[n]- 游標向前移動n行,[n]表示一個整數
[n]G 游標定位到第n行行首, [n]表示一個整數
尋找與替換:
/[str] 尋找字串str,[str]表示要尋找的字串
斷行符號後會加亮顯示所有找到的字串,接著
命令n移動到下一個找到的字串,命令N移動到
上一個找到的字串 eg /hello
部分替換 (只能替換游標之所在的行)
:s/[src]/[dst] /i忽略大小寫 /g全部匹配 eg :s/hello/world/ig 替換一行
:3,6 s/[src]/[dst]/ig(3-6行中找) eg :3,6 s/hello/world
全部替換
:%s/[src]/[dst]/g 將文檔中所有src的字串替換為dst字串
:%s/^ //g 將文檔每一行的行首的空格去掉
塊操作:
v 可視化塊選擇狀態,選中塊之後,可以對塊進行刪除(d),複製(y),剪下(x)
yy 複製游標所在的整行
[n]yy 從游標開始往下複製n行,[n]表示一個整數
p 將複製後的文本粘貼到游標處
u 撤銷上次操作
結束編輯:
:q 在未修改文檔的情況下退出
:q! 放棄文檔的修改,強行退出
:w 文檔存檔
:wq 文檔存檔退出
其他:
:help 命令 查看該命令的協助提示
:%!xxd 十六進位模式
:%!xxd –r 返迴文本模式
如果在編輯過程中不小心按了Ctrl+s,vim會處於僵死狀態,按Ctrl+q可以恢複。
執行 vim +3 main.c //表示定位到main.c的第3行
執行 vim +/printf main.c //表示定位到第一個printf處
在命令模式下輸入:new 2.c //表示再開啟一個vim,是橫向的 用vnew 2.c 表示縱向
vs 2.c //縱向分割。
也可以通過:split vsplit sp vsp,兩個視窗之間進行切換的方式:Ctrl+w,w
在命令模式中輸入gg=G可以自動對齊
sed: 管道尋找替換程式
cat a.txt | sed ‘s/aa/bb/‘ > b.txt //將a.txt中的aa替換成bb並重新導向輸出到b.txt中。
二、Vim編輯器入門