Vi Vim編輯器常用命令

2021-06-29 13:02:54 字數 3851 閱讀 5925

習慣了在mac/linux下工作的人,可能需要了解一些vi/vim編輯器相關的命令。vim是vi improved的縮寫。在vi原有的基礎上進行了很大的擴充套件。下面分別介紹vi常用的命令。

操作符功能

^移動到該行第乙個非空格字元處

w向前移動乙個word,將符號或標點當做單詞處理

w向前移動乙個word,不把符號或標點當做單詞處理

b向後移動乙個word,把符號或標點當做單詞處理

b向後移動乙個word,不把符號或者標點當做單詞處理

(游標移動至句首

)游標移動至句末

游標移動至段落結尾

h游標移動至螢幕中間行

m游標移動至螢幕中間行

l游標移動至螢幕最後行

0(數字零)

到行首$

到行末gg

到頁首g

到頁末行號+g

跳轉到指定行

n+(n為數字)

游標下移n行

n-游標上移 n 行

control+g(注意:不是command)

查詢當前行資訊和當前檔案資訊

fx向右跳轉到游標同行字元x處(x可以是任意字元)

fx向左跳轉到游標同行字元x處(x可以是任意字元)

tx和fx相同,區別是跳到字元x之前

tx和fx相同,區別是調到字元x之後

control+b

向上滾動一屏

control+f

向下滾動一屏

control+u

向上滾動半屏

control+d

向下滾動半屏

control+y

向上滾動一行

control+e

向下滾動一行

操作符功能

vi filename

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

vi +n filename (eg: vi +3 ~/.bash_profile)

開啟檔案,並將游標置於第n行首

vi + filename

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

vi +/pattern filename

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

vi -r filename

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

vi filename … filename

開啟多個檔案,依次進行編輯

zz退出vi並儲存

:q!退出vi,不儲存

:wq退出vi並儲存

操作符功能

control+n

匹配下乙個關鍵字

control+p

匹配上乙個關鍵字

操作符功能

o (小寫字母o)

在游標下方新開一行並將游標置於新行行首,進入插入模式

o (大寫字母o)

在游標上方新開一行並將游標置於新行行首,進入插入模式

a在游標之後進入插入模式

a在游標之前進入插入模式

r進入替換模式,直到按下esc

操作符功能

j將當前行的下面一行合併到當前行後面

操作符功能

/pattern

從游標處向檔案尾搜尋pattern

?pattern

從游標處想檔案首搜尋pattern

n(配合/pattern 和 ?pattern使用)

在同一方向重複上一次搜尋命令

n(配合/pattern 和 ?pattern使用)

在反方向上重複上一次搜尋命令

:s/p1/p2/g

(注意:是行操作)當前行中所有p1均用p2替代,若要每個替換都向使用者詢問則應該用gc選項

:n1,n2s/p1/p2/g

將n1至n2行中所有p1均用p2替代,若要每個替換都向使用者詢問則使用gc選項

:g/p1/s//p2/g

將檔案中所有p1均用p2替換

注意:.*^%~$在vi中有特殊的含義,若需要查詢則應該加上轉義字元「\」

操作符

功能:set hlsearch

設定高亮查詢

:set nohlsearch

關閉高亮查詢

:nohlsearch

關閉當前已經設定的高亮

:set incsearch

設定增量查詢

:set noincsearch

關閉增量查詢

操作符功能

x刪除當前游標下的字元

dw刪除游標之後的單詞剩餘部分

d$刪除游標之後的該行剩餘部分

dd刪除當前行

c功能和 d相同,區別在於完成刪除操作後進入插入模式

cc功能和 dd相同,然後進入插入模式

操作符功能

rx將當前游標下的字元更改為x(x為任意字元)

~更改當前游標下的字元的大小寫

操作符功能

qcharacter

開始錄製巨集,character為a到z的任意字元

q終止錄製巨集

@character

呼叫先前錄製的巨集

操作符功能

u撤銷最後執行的命令

u修正之前對該行的操作(注意是行操作)

control + r

重新執行被撤銷的命令

操作符功能

yy複製當前整行(配合p使用,貼上)

nyy複製當前行開始的n行內容(n為整數)

?nyy

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

?nyw

將游標當前行及其以下n個詞的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字

?nyl

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

?p將暫存器?中的內容貼上到游標位置之後。如果?是用yy複製的完整行,則貼上在游標所在行下面。這裡?可以是乙個字母,也可以是乙個數字。

?p (大寫p)

將暫存器a中得內容貼上到游標位置之前。如果?是用yy複製的完整行,則貼上在游標所在行上面。這裡?可以使乙個字母,也可以是乙個數字

ay[motion]

分類如下

ay$複製游標位置到行末並儲存在暫存器a中

ayft

複製游標位置到當前行第乙個字母t並儲存在暫存器a中

以上指令皆可去掉a工作,則y,p對未命名暫存器工作(所有d,c,x,y的物件都被儲存在這裡)。

所有刪除的內容自動被儲存,可以用p鍵貼上

操作符功能

all列出所有選項設定情況

term

設定終端型別

ignorance

在搜尋中忽略大小寫

list

顯示製表(control+i)和行尾標誌($)

number

顯示行號

report

顯示由面向行的命令修改過的資料

terse

顯示簡單的警告資訊

warn

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

nomagic

允許在搜尋模式中,使用前面不帶轉義字元」\」的特殊字元搜尋

nowrapscan

禁止vi在搜尋到達檔案兩端是,又從另一端開始

mesg

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

操作符功能

gg對**自動進行格式化

g對**進行格式化

vi vim編輯器常用命令

插入模式常用命令 可視模式常用命令 vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。簡單的來說,vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。vim 則可以說是程式開發者的一項很好用的工具。正常模式 n...

Linux檔案編輯器 Vi(Vim)常用命令

linux檔案編輯器 vi vim root localhost vi filename 檔案的儲存和退出 當我們按esc鍵後,接著再輸入 號時,vi會在螢幕的最下方等待我們輸入命令 w 儲存 w filename 另存為filename wq 儲存退出 wq filename 注 以filenam...

Linux中vi vim編輯器的常用命令

輸入模式 insert mode 末行模式 last line mode cat 檔名 檢視檔案 vi 檔名 編輯檔案 vim 檔名 編輯檔案 不掌握vi vim命令,都不好意思說自己會linux命令。所以總結一下vim編輯器的常用命令,學會之後,在linux總操作檔案6的飛起。配置檔案是linux...