標籤:style color os strong ar linux line new
vimm(vimsual)是Linux/UNIX系列OS中通用的全屏編輯器。
vimm分為兩種狀態,即命令狀態和編輯狀態,在命令狀態下,所鍵入的字元系統均作命令來處理,如: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,6s/[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處
在命令模式下輸入:new2.c //表示再開啟一個vim,是橫向的用vnew2.c表示縱向
也可以通過:split vsplit sp vsp,兩個視窗之間進行切換的方式:Ctrl+w,w
在命令模式中輸入gg=G可以自動對齊
sed:管道尋找替換程式
cata.txt | sed ‘s/aa/bb/‘ > b.txt //將a.txt中的aa替換成bb並重新導向輸出到b.txt中。
:r my_open.c
將my_open.c讀入目前的目錄