vi命令示例大全

2021-09-02 23:39:04 字數 4798 閱讀 8794

vi filename# 開啟或新建檔案,並將游標置於第一行首

vi +n filename# 開啟檔案,並將游標置於第n行首

vi + filename# 開啟檔案,並將游標置於最後一行首

vi +/pattern filename# 開啟檔案,並將游標置於第乙個與pattern匹配的串處

vi -r filename# 在上次正用vi編輯時發生系統崩潰,恢復filename

vi filename....filename# 開啟多個檔案,依次進行編輯

w# 儲存當前檔案 

w /tmp1# 另存為/tmp1 

20,59w /tmp1# 僅將20-59行之間的記憶體另存為/tmp1 

xwq# 儲存退出 

q# 退出vi 

q!# 退出不儲存 

!command# 執行shell命令command 

n1,n2 w !command# 將檔案中n1行至n2行的內容作為command的輸入並執行之,若不指定n1,n2,則表示將整個檔案內容作為command的輸入 

r !command# 將命令command的輸出結果放到當前行 

w !sudo tee %# 儲存沒許可權時,可獲取許可權再儲存 

h# 游標左移乙個字元 

l# 游標右移乙個字元 

space# 游標右移乙個字元 

backspace# 游標左移乙個字元 

kctrl+p# 游標上移一行 

jctrl+n# 游標下移一行 

enter# 游標下移一行 

ww# 游標右移乙個字至字首 

bb# 游標左移乙個字至字首 

ee# 游標右移乙個字至字尾 

)# 游標移至句尾 

(# 游標移至句首 

}# 游標移至段落開頭 

{# 游標移至段落結尾 

ng# 游標移至第n行首 

n+# 游標下移n行 

n-# 游標上移n行 

n$# 游標移至第n行尾 

h# 游標移至螢幕頂行 

m# 游標移至螢幕中間行 

l# 游標移至螢幕最後行 

0# (注意是數字零)游標移至當前行首 

$# 游標移至當前行尾 

ctrl+u# 向檔案首翻半屏 

ctrl+d# 向檔案尾翻半屏 

ctrl+f# 向檔案尾翻一屏 

ctrl+b# 向檔案首翻一屏 

nz# 將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部 

i# 在游標前 

i# 在當前行首 

a# 游標後 

a# 在當前行尾 

o# 在當前行之下新開一行 

o# 在當前行之上新開一行 

r# 替換當前字元 

r# 替換當前字元及其後的字元,直至按esc鍵 

s# 從當前游標位置處開始,以輸入的文字替代指定數目的字元 

s# 刪除指定數目的行,並以所輸入文字代替之 

ncwncw# 修改指定數目的字 

ncc# 修改指定數目的行 

ndwndw# 刪除游標處開始及其後的n-1個字 

do# 刪至行首 

d$# 刪至行尾 

ndd# 刪除當前行及其後n-1行 

xx# 刪除乙個字元,x刪除游標後的,而x刪除游標前的 

ctrl+u# 刪除輸入方式下所輸入的文字 

n1,n2 d# 將n1行到n2行之間的內容刪除 

%d# 刪除全部內容 

1,$d# 刪除全部內容 

yy# 複製當前行 

nyy# 複製當前行開始的n行 

先按v然後方向鍵選擇區域,按y複製選中行 

dd# 剪下當前行 

p(小)# 在當前游標處下面貼上內容。 

p(大)# 在當前游標處上面貼上內容 

n1,n2 co n3# 將n1行到n2行之間的內容拷貝到第n3行下 

n1,n2 m n3# 將n1行到n2行之間的內容移至到第n3行下 

/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替換 

"?nyy# 將當前行及其下n行的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字 

"?nyw# 將當前行及其下n個字儲存到暫存器?中,其中?為乙個字母,n為乙個數字 

"?nyl# 將當前行及其下n個字元儲存到暫存器?中,其中?為乙個字母,n為乙個數字 

"?p# 取出暫存器?中的內容並將其放到游標位置處。這裡?可以是乙個字母,也可以是乙個數字 

ndd# 將當前行及其下共n行文字刪除,並將所刪內容放到1號刪除暫存器中。 

set number# 顯示行號 

set number!# 不顯示行號,其它選項同理加!號 

set all# 列出所有選項設定情況 

set term# 設定終端型別 

set ignorance# 在搜尋中忽略大小寫 

set list# 顯示製表位(ctrl+i)和行尾標誌($) 

set report# 顯示由面向行的命令修改過的數目 

set terse# 顯示簡短的警告資訊 

set warn# 在轉到別的檔案時若沒儲存當前檔案則顯示no write資訊 

set nomagic# 允許在搜尋模式中,使用前面不帶「」的特殊字元 

set nowrapscan# 禁止vi在搜尋到達檔案兩端時,又從另一端開始 

set mesg# 允許vi顯示其他使用者用write寫到自己終端上的資訊 

vi命令大全

vi編輯器的文字說明 功能 命令模式 command mode 控制游標移動,刪除字元,段落複製。末行模式 last line mode 儲存檔案,離開vi,以及其他設定。命令模式命令 命令 說明 h 將游標向左移動一格 l 將游標向右移動一格 j 將游標向下移動一格 k 將游標向上移動一格 0 數...

vi 命令大全

進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...

VI命令大全

進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...