Linux vi-vim 中的一些技巧
來源:http://uusama.com/401.html
1. 常用命令
編輯
以下命令在命令模式執行
-
i,a,r:在光標的前,後,上方插入字符命令 (i=insert,a=append,r=replace)
-
O,o:在當前行前面,後面插入一空行
-
cw,dw:改變 (置換)/ 刪除光標所在處的單詞的命令 (c=change,d=delete)
-
x,d$,dd:刪除光標處,光標之後,光標所在行的字符
光標移動
-
k,j,h,l:分別上下左右移動光標
-
Ctrl+f,Ctrl+b:分別向下,向上翻頁
-
n:敲數字然後回車,光標往後移動 n 行
-
nG:使得光標跳動到指定行
-
w,b:使光標向前或向後跳過一個單詞
-
ma,mb,mc:光標移動到起始行,結束行,粘貼行
-
w 或 W:光標右移一個字至字首
-
b 或 B:光標左移一個字至字首
-
e 或 E:光標右移一個字至字尾
-
(,):光標分別移至句首,句尾
-
{,}:光標分別移至段落開頭,結尾
-
H,M,L:光標移至屏幕頂行,中間行,最後行
-
0:(注意是數字零)光標移至當前行首
-
$:光標移至當前行尾
刪除
-
ndw 或 ndW:刪除光標處開始及其後的 n-1 個字
-
do:刪至行首
-
d$:刪至行尾
-
ndd:刪除當前行及其後 n-1 行
-
x 或 X:刪除一個字符,x 刪除光標後的,而 X 刪除光標前的
-
Ctrl+u:刪除輸入方式下所輸入的文本
-
n1,n2 d:將 n1 行到 n2 行之間的內容刪除
-
%d:刪除全部內容
-
1,$d:刪除全部內容
查找
-
/abc:從光標開始處向文件尾搜索 abc
-
?abc:從光標開始處向文件首搜索 abc
-
//abc:從光標開始處向文件尾搜索 / abc,其中 / 是轉義
-
n:在同一方向重複上一次搜索命令
-
N:在反方向上重複上一次搜索命令
替換
-
s/vivian/sky/:替換當前行第一個 vivian 爲 sky
-
s/vivian/sky/g:替換當前行所有 vivian 爲 sky
-
n,$s/vivian/sky/:替換第 n 行開始到最後一行中每一行的第一個 vivian 爲 sky
-
n,$s/vivian/sky/g:替換第 n 行開始到最後一行中每一行所有 vivian 爲 sky
-
%s/vivian/sky/g:(等同於 g/vivian/s//sky/) 替換每一行的每一個 vivian 爲 sky
-
s#vivian/#sky/#:替換當前行第一個 vivian/ 爲 sky/(可以使用 #或 + 作爲分隔符,此時中間出現的 / 不會作爲分隔符)
-
s/p1/p2/g:將當前行中所有 p1 均用 p2 替代
-
n1,n2s/p1/p2/g:將第 n1 至 n2 行中所有 p1 均用 p2 替代
-
g/p1/s//p2/g:將文件中所有 p1 均用 p2 替換
複製粘貼
-
yy:複製當前行
-
nyy:複製當前行開始的 n 行
-
先按 v 然後方向鍵選擇區域,按 y 複製選中行
-
dd:剪切當前行
-
p(小):在當前光標處下面粘貼內容。
-
P(大):在當前光標處上面粘貼內容
-
n1,n2 co n3:將 n1 行到 n2 行之間的內容拷貝到第 n3 行下
-
n1,n2 m n3:將 n1 行到 n2 行之間的內容移至到第 n3 行下
常用選項
編輯器選項
-
set number:顯示行號
-
set number!:不顯示行號,其它選項同理加!號
-
set all:列出所有選項設置情況
-
set ignorance:在搜索中忽略大小寫
-
set list:顯示製表位 (Ctrl+I) 和行尾標誌($)
-
set warn:在轉到別的文件時若沒保存當前文件則顯示 NO write 信息
-
set nowrapscan:禁止 vi 在搜索到達文件兩端時,又從另一端開始
-
set mesg:允許 vi 顯示其他用戶用 write 寫到自己終端上的信息
編輯器保存
-
:wq :保存並退出
-
:q! :不保存退出
-
:w :保存更改
-
U:撤銷更改
-
Ctrl+r:重做,用於撤銷的更改恢復
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/LooA49cJh5oboGgrNxJqaw