VI VIM常用命令

2021-09-06 05:05:31 字數 3801 閱讀 6640

vi是「visual inte***ce」的簡稱,它在linux上的地位就彷彿edit程式在dos上一樣。它可以執行輸出、刪除、查詢、替換、塊操作等眾多文字操作,而且使用者可以根據自己的需要對其進行定製,這是其他編輯程式所沒有的。

vi不是乙個排版程式,它不象word或wps那樣可以對字型、格式、段落等其他屬性進行編排,它只是乙個文字編輯程式。

vi沒有選單,只有命令,且命令繁多。vi有三種基本工作模式:命令列模式、文字輸入模式和末行模式。

命令列模式 (command mode/一般模式)

任何時候,不管使用者處於何種模式,只要按一下鍵,即可使vi進入命令列模式;我們在shell環境(提示符為$)下輸入啟動vi命令,進入編輯器時,也是處於該模式下。 

在該模式下,使用者可以輸入各種合法的vi命令,用於管理自己的文件。此時從鍵盤上輸入的任何字元都被當做編輯命令來解釋,若輸入的字元是合法的vi命令,則vi在接受使用者命令之後完成相應的動作。但需注意的是,所輸入的命令並不在螢幕上顯示出來。若輸入的字元不是vi的合法命令,vi會響鈴報警。

文字輸入模式 (input mode/編輯模式)

在命令模式下輸入插入命令i、附加命令a 、開啟命令o、修改命令c、取代命令r或替換命令s都可以進入文字輸入模式。在該模式下,使用者輸入的任何字元都被vi當做檔案內容儲存起來,並將其顯示在螢幕上。在文字輸入過程中,若想回到命令模式下,按鍵即可。 

末行模式 (last line mode/指令列命令模式)

末行模式也稱ex轉義模式。 

vi和ex編輯器的功能是相同的,二者主要區別是使用者介面。在vi中,命令通常是單個鍵,例如i、a、o等;而在ex中,命令是以按回車鍵結束的正文行。vi有乙個專門的「轉義」命令,可訪問很多面向行的ex命令。在命令模式下,使用者按「:」鍵即可進入末行模式下,此時vi會在顯示視窗的最後一行(通常也是螢幕的最後一行)顯示乙個「:」作為末行模式的提示符,等待使用者輸入命令。多數檔案管理命令都是在此模式下執行的(如把編輯緩衝區的內容寫到檔案中等)。末行命令執行完後,vi自動回到命令模式。

一、由一般模式轉到輸入模式的命令

1〉游標移動命令

0 移動到游標所在列的最前面[home]

$ 移動到游標所在列的最後面[end]

[ctrl][d] 向下半頁

[ctrl][u] 向上半頁

h移動到視窗的第一列

m移動到視窗的中間列

l移動到視窗的最後列

g移動到檔案最後列

ng直接用數字 n 加上大寫 g 移動到第 n 行 (等同於命令「:n」) 

fx往右移動到 x 字元上

tx往右移動到 x 字元前

shift +g 跳到檔案尾 (等同於g)

gg 跳到檔案頭

xp 交換兩個字元位置

ddp 上下兩行調換

[ 移到檔案開始位置 

] 移到檔案結束位置 

nk向上移n行

n↑向上移n行

n-向上移n行,游標在該行的起始 

ni  向下移n行 

n+向下移n行,游標在該行的起始 

n↓向下移動n行

w  向前移動乙個word

nw  向前移動n個word

→  向右移動乙個字元【l】

←  向左移動乙個字元【h】

↑  向上移動一行【k】

↓  向下移動一行【j】

2〉刪除操作命令

x 刪除游標所在的字元【delete】

dw 刪除游標所在的單詞

d $ 刪除游標至行尾的所有字元

/d d 同/d d $

dd 刪除當前行

dnd 刪除當前n行

dg  刪除當前行到最後一行

可在刪除命令前加上數字,如<5x表示刪除5行。

3〉改變與替換操作命令

r 替換游標所在的字元

/rr 替換字串行

c $ 替換自游標位置至行尾的所有字元

cl 修改當前字元

cc 修改當前行

c$ 修改到行尾的內容

:%s#abc#123#g 將文中的所有abc都替換為123

ddp  上下兩行交換(其實是先dd,然後執行p)

4〉查詢命令

/string 往前搜尋string【支援正則】

n 查詢下乙個

?string  往後搜尋string

/+上下箭頭 搜尋歷史

:+上下箭頭 :命令的歷史

* 往前查詢當前word,前提是游標移動到要查詢的word

# 往後查詢當前word,前提是游標移動到要查詢的word

/\只匹配word,不匹配wordstr等等

%  查詢匹配的括號,前提是游標要在一邊的括號上

fx  在當前行移動到下乙個字元x

5〉拷貝與貼上命令

yw 將游標所在單詞拷入剪貼簿

y$ 將游標至行尾的字元拷入剪貼簿

y 同yy 將當前行拷入剪貼簿

yny  將當前n行拷入剪貼簿

p 將剪貼簿中的內容貼上在游標後

p 將剪貼簿中的內容貼上在游標前

6〉檔案編輯、儲存及退出vi命令

:q 不儲存退出

:q! 不儲存強制性退出

:w 儲存編輯

:w filename 存入檔案filename中

:w! filename 強制性存入檔案filename中

:wq / :x / zz 儲存退出

:wq!  強制儲存然後退出

7〉其他命令

:args  顯示當前檔名

u   撤銷,相當於ctrl+z

u   一次撤銷一行的所有操作

ctrl+r  重做

:help  檢視所有幫助

:help  0  檢視關於0的幫助

zz  退出幫助,回到編輯模式 

ctrl+g  知道【檔名  是否修改  當前第一行  前面所占行的百分比】

ctrl+v  選擇乙個塊

:set number  顯示行號

:set nonumber  不顯示行號

:set rule  顯示游標位置

:set ignorecase  搜尋不區分大小寫

:set noignorecase 搜尋區分大小寫

:ab string string 提示(比如:ab abc abcdefg,當輸入abc然後輸入空格,abc自動變為abcdefg)

:new filename 開啟或新建檔案,如果不指定檔名或者檔名不存在則是新建檔案。

:set ruler 開啟游標的行列位置顯示功能 

:set shiftwidth=4 設定自動縮排格數 

:set autoindent 開啟自動縮排功能

:set paste 貼上的時候關閉自動縮排

:set nopaste 貼上的時候開啟自動縮排

三、進入vi的命令

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

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

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

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

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

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

vi + /word filename:進入vi並且由檔案的word這個字開始

注意:ctrl+s在linux下是停止顯示終端的輸出,這個時候螢幕就像定住了一樣,終端不會繼續輸出,也不會響應你的輸入,需要按一下 ctrl-q 即可恢復輸入。

命令大多了,還是看文件。

vi vim 常用命令

vi vim 基本使用方法 vi編輯器是所有unix及linux系統下標準的編輯器,它的強大不遜色於任何最新的文字編輯器,這裡只是簡單地介紹一下它的用法和一小部分指令。由於對unix及linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步了解它。vi也是linux...

vi vim常用命令

跳到最後一行 shift g 跳到行最後乙個字元 shift 4 跳到檔案開頭 gg 跳到行頭 0 跳到某一行 25gg 或者 25g 或者 n 恢復修改 u 清空檔案 dg 刪除一行 dd 向下查詢 字元 向上查詢 字元 替換 s src des g src是原字元 des是目的 g是替換全部 行...

vi vim常用命令

高效率移動 1 在插入模式之外 基本上來說,你應該盡可能少的呆在插入模式裡面,因為在插入模式裡面 vim 就像乙個 啞巴 編輯器一樣。很多新手都會一直呆在插入模式裡面,因為這樣易於使用。但 vim 的強大之處在於他的命令列模式!你會發現,在你越來越了解 vim 之後,你就會花越來越少的時間使用插入模...