1. 程式人生 > 其它 >Linux vi/vim 中的一些技巧

Linux vi/vim 中的一些技巧

今天來給大家介紹一下vim的技巧
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:重做,用於撤銷的更改恢復

本文地址:https://www.linuxprobe.com/linux-vi-vim-jiq.html