常用vi命令總結

2021-10-16 11:55:49 字數 4390 閱讀 4976

vi編輯器是linux或unix中最基本的文字編輯器,其產生可以幫助使用者將雙手從滑鼠中解放出來,在vi模式下,命令都是通過鍵盤輸入完成的。

一、vi的三種工作模式

1、命令模式:是vi的入口,執行定位,翻頁,複製,貼上,刪除等操作

末行模式:是vi的出口,執行儲存、退出等操作

命令模式:是vi的入口,執行定位,翻頁,複製,貼上,刪除等操作

2、末行模式:是vi的出口,執行儲存、退出等操作

q:退出

wq:儲存並退出

q!:強制退出(在修改檔案但未儲存時退出檔案,可使用強制退出命令)

x或wq:儲存並退出

二、移動

1、上下左右移動

h:左移乙個字元

j :下移乙個字元

k:上移乙個字元

l:右移乙個字元

2、行內移動

w(word) 向後移動乙個單詞

b(back) 向前移動乙個單詞

0 移動至行首

^ 移動至第乙個非空白字元的行首

$ 移動至行尾

3、移動至檔案頂部 gg

移動至檔案末尾 g

移動到指定行 指定行gg

4、螢幕移動

ctrl+b(back) 向上翻頁

ctrl+f(forward) 向下翻頁

h(high) 移動至螢幕頂部

m(middle) 移動至螢幕中間

l(low) 移動至螢幕底部

5、段落移動

shiift+ 下一段落

shift+% 可以匹配及在成對的括號之間切換

6、標記

ma(mark) 新增標記a,a是a-z或者a-z中的任意乙個字母

『a 直接回到剛剛標記的位置

三、定位到行

1、在檔案外時,進入檔案並跳轉到指定行:

vi 檔名+指定行數,

eg:0.json + 16

2、讓每行的前面顯示行數:

vi下,輸入:set nu(nu表示number)

3、跳轉到指定行:

指定行gg 或輸入 :100,

eg:100gg或:100即可跳轉到檔案的第100行

四、撤銷和刪除

1、撤銷

u(undo) 撤銷上次命令,可重複執行至檔案原始狀態

ctrl+r(redo) 可恢復剛剛撤銷的命

2、刪除

x(cut) 刪除游標所在字元,可結合數字或%刪除多個字元

eg:5x,%x

d(delete) 刪除對應的字元

dd 刪除游標所在行,

eg:ndd 刪除多行

dng 從該行刪除至第n行

dw 從游標位置刪除至單詞末尾

d0 從游標位置刪除至該行起始位置

d} 從游標位置刪除至段落末尾

d 刪除至行尾

五、複製、貼上、替換

1、複製&貼上

yy(copy) 複製,nyy可複製多行

p(paste) 貼上

eg:yy5p 該行複製5遍

5yyp 這5行複製1遍

【注意】在其他檔案中用ctrl+c所複製的檔案,不可直接用p命令貼上,需要先進入編輯模式(i)下使用p貼上

2、替換

r (replace) 替換當前字元

r 從當前位置開始,用輸入的n個字元替換當前游標開始的n個字元

5r 表示新輸入的文字重複5次替換原有位置的字元,後續字元依舊保留

六、選中命令(可視模式)

1、v:可視模式(從游標開始位置到游標結束位置選中)

2、v:可視行模式(只要是游標經過的完整行都會被選中)

3、ctrl+v:可視塊塊模式(可垂直方向選中文字)

【注意】可視模式下,可以和移動命令進行連用

七、縮排和重複執行

>>								向右增加縮排

<< 向左增加縮排

【注意】在可視模式下,可選中多行同時進行縮排,只需要乙個shift+《或shift+>即可。

. 重複執行上次命令

八、查詢

1、常規查詢

/str 查詢str

n 向下查詢下乙個

n 向上查詢上乙個

2、單詞快速匹配

* 向後查詢當前游標所在單詞

# 向前查詢當前游標所在單詞

3、查詢並替換:【格式:%s///g】

1)全域性替換 :%s/舊文字/新文字/g

2)可視區域替換 :s/舊文字/新文字/g

3)確認替換(在找到對應欄位後,替換時會有提示,確認的時候是乙個乙個確認的)

:%s/舊文字/新文字/gc(c表示確認)

【y表示替換;n表示不替換;a表示全部替換;q表示退出替換;

l表示最後乙個,並把游標移動到行首;ctrl+e表示向下滾屏,ctrl+y表示向上滾屏】

九、插入

i			在當前字元前插入文字

i 在行首插入文字

a 在當前字元後面新增文字

a 在行末新增文字

o 在當前行的後面插入一空行

o 在當前行的前面插入乙個空行

操作示例1:編輯命令和數字的連用

eg1:連續輸入10個*

eg2:連續輸入10行hello

10行hello

操作示例2:利用可視塊增加多行文案

操作步驟:1> ctrl+v進入可視塊模式,垂直方向選中文字;

2> 使用j向下選中要新增的行;

3> 輸入大寫i進入編輯模式(小寫無法在可視塊模式下進入編輯模式);

4> 輸入要插入的文案;

5> 按下esc鍵回到命令模式,則可在選中的每一行都插入新增的文案

操作示例3:利用可視塊刪除多行文案

操作步驟:1> ctrl+v進入可視塊模式,垂直方向選中文字;

2> 使用j向下選中要新增的行;

3> 輸入小寫d即可同時刪除選中的多行文案;

十、末行命令下:檢視目錄、建立檔案、切換檔案、複製檔案

進入末行模式中,即:

:e . 瀏覽當前目錄下包含的檔案(e表示edit,點表示當前目錄)

:e 檔名 進入指定檔案,可以在乙個檔案中切換到當前目錄下的另乙個檔案

:n 檔名 建立檔案(n表示new)

:w 檔名 另存為,將當前檔案內容全部寫入到乙個新的檔案中,類似複製,但是編輯操作仍在該檔案中,不會切換檔案(w表示write)

一、分屏命令

:sp		    橫向增加分屏(split)

:vsp 縱向增加分屏

【注意】分屏操作都是基於ctrl+w這個快捷鍵,所以以下操作之前都必須先按下ctrl+w,再按下以下字母即可完成相應操作。

w window 切換到下乙個視窗

r reverse 互換視窗(上下交換,或左右交換)

c close 關閉當前視窗,但是不能關閉最後乙個視窗

q quit 退出當前視窗,若是最後乙個視窗,則關閉vi

o other 關閉其他視窗

VI常用命令總結

vim有3中主要的模式 1.normal mode 當進入vim時,預設的模式就是normal mode。在此模式下,無法輸入任何文字,不過可以利用按鍵命令來執行許多操作命令,例如移動游標位置 複製 刪除。2.insert mode 進入vim輸入a i 或o鍵。即可進入insert mode,此模...

常用vi命令

i 進入修改狀態,游標所在處插入 a 進入修改狀態,游標所在後插入 o 進入修改狀態,行首插入新行 esc 回到命令狀態 w foo.txt 存成foo.txt wq 儲存修改退出 x 儲存修改退出 q 放棄編輯,強制退出 u 撤銷一步,可多步 ctrl r 恢復一步,可多步 3yy 複製游標所在及...

vi 命令總結

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