vi常用命令一瀏

2021-04-07 07:07:01 字數 3889 閱讀 3515

(另: 

vi高階命令集錦 [轉貼]http://www.linuxsir.org/bbs/showthread.php?threadid=46167)

vi(visual)是以視覺為導向的全螢幕編輯器、共分為三種方式(mode):

command方式:

任何輸入都會作為編輯命令,而不會出現在螢幕上,若輸入錯誤則有「岬」的聲音;任何輸入都引起立即反映

insert方式:

任何輸入的資料都置於編輯暫存器。在command方式下輸入(i,a,a等),可進入insert方式,insert方式下按esc,可跳回command方式。

escape方式:

進入vi(在系統提示符下面輸入以下指令):

vi           進入vi而不讀入任何檔案

vi filename      進入vi並讀入指定名稱的檔案(新、舊檔案均可)。

vi +n filename    進入vi並且由檔案的第幾行開始。

vi +filename      進入vi並且由檔案的最後一行開始。

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

vi filename(s)     進入vi並且將各指定檔案列入名單內,第乙個檔案先讀入。

vedit         進入vi並且在輸入方式時會在狀態行顯示「insert mode"。

編輯數個檔案(利用vi filename(s))進入vi後)

:args         顯示編輯名單中的各個檔名

:rew         讀入編輯名單中的第乙個檔案

:e#          讀入編輯名單內的前乙個檔案

:e file        讀入另乙個檔案進vi(此檔案可不在編輯名單內),若原檔案經修改還沒有存檔,則應先以: w 存檔。

:e! file       強迫讀入另乙個檔案進入vi,原檔案不作存檔動作。

儲存及退出vi

:w filename      存入指定檔案,但未退出vi(若未指定檔名則為當前工作的檔名)。

:wq 或者 :x或者zz   存檔案,並且退出vi.

:q          不作任何修改並退出vi。

:q!          放棄任何修改並退出vi。

:!command       暫時退出vi並執行shell指令,執行完畢後再回到vi。

:sh          暫時退出vi到系統下,結束時按ctrl + d則回到vi。

加資料指令

i           在關標位置開始插入字元,結束時候按esc鍵。

i           在游標所在行的最前面開始加字,結束時按esc鍵。

a           在游標位置後開始加字,結束時按esc鍵。

a           在游標所在行的最後面開始加字,結束時按esc鍵。

o           在游標下加一空白行並開始加字,結束時按esc鍵。

o           在游標上加一空白行並開始加字,結束時按esc鍵。

!command       執行shell指令,並把結果加在游標所在行的下一行。

刪除指令

nx          刪除由游標位置起始的n個字元(含游標位置,按乙個x表示刪除游標所在的字元)

nx           刪除由游標位置起始的n個字元(不含游標位置)。

ndw          刪除游標位置其實的n個字元組(word)。

d0           將行的開始到游標位置的字元全部刪除。

d$ 或d         將游標位置起始到行尾的字元全部刪除。

ndd          將游標位置起始的n行(整行)刪除(dd表示刪除游標所在行)。

:start,endd      刪除檔案的第start到end行。

關標移動

0           移到一行的開始

$           移到一行的最後

[           移到檔案開始位置

]           移到檔案結束位置

nh          往左移n位

nl或者spacebar     往右移n位

nk          向上移n行

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

ni           向下移n行

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

h           移到螢幕的左上角

m           移到螢幕的中間行開頭

l           移到螢幕的最後一行

g           移到檔案的最後一行

ng或者:n       移到檔案的第n行

nw          右移n個字組,標點符號屬於字組

nw          右移n個字組,標點符號不屬於字組

nb          左移n個字組,標點符號屬於字組

nb          左移n個字組,標點符號不屬於字組

ctrl + u       螢幕上捲半個選單

ctrl + d        螢幕下卷半個選單

ctrl + b        螢幕上捲乙個選單

ctrl + f        螢幕下卷乙個選單

修改指令

r           修改游標檔案的字元

r           從游標位置開始修改,結束時按esc鍵

new          更改n組字元,結束時按esc鍵

ncc          從游標所在位置開始更改n行,結束時按esc鍵

重排各行長度

i           並按enter將該行由游標所在處斷開,並進入insert方式

j           把下一行的資料連線到本行之後

尋找指令

/text         從游標位置往下找字串text

?text         從游標位置往上找字串text

n           繼續找下乙個字串(在輸入上面的尋找指令之後使用)

尋找並且取代指令

:getxt1/s/ /text2/options   將各行的text1替換為text2

option=g表示檔案中所有的text1均被取代,若未輸入任何option,則只有               各行中的第乙個出現的text1被取代

option=go 在螢幕顯示各取代的行

option=gc 在每個字串取代之前要求確認 

start,endgtext1/s/ / text2/options  同上,只尋找並取代第start~end行。

或:start,ends/text1/text2/options

複製及移動檔案

:first,last co dest      將first 到last行的資料複製到目標行(dest)下面

:start,end m dest      將start 到 end行的資料移動到目標行(dest)下。   

:r filename          將指定檔案的內容讀入游標所在行下。

ny               將游標所在位置開始的n行資料暫存

p               複製暫存資料在游標的下一行

p               複製暫存資料在游標的上一行

其他命令

.               重複前一指令

u               取消前一指令

ctrl + l           重新整理螢幕顯示

:set number          顯示檔案的行號,但不會存檔案

:set nonumber         解除行號顯示

:set ai            設定每行起始位置(以游標當前位置為起始)

:set noai           取消行起始位置設定

:f 或+ g        告訴使用者有關現行編輯檔案的資料。

vi常用命令

1.在進行編寫 時,在格式對起上很有用 第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行 第二行,依據上面的對起格式,智慧型的選擇對起方式,對於類似c語言編寫上很有用 set autoindent set smartindent c語言對齊方式,最好用它 set cindent 2....

vi常用命令

一 vi的三種模式 3 命令列模式 從一般模式按下 時進入命令列模式。注意 編輯模式和命令列模式不能互相切換,只能通過一般模式切換。二 三種模式常用按鍵說明 1 一般模式下的可用按鈕 最常用的 移動游標 移動游標 上下左右鍵 螢幕向上翻頁 pageup或者ctrl b 螢幕向下翻頁 pagedown...

vi常用命令

a 一般模式 vi 處理檔案時,一進入該檔案,就是一般模式了.b 編輯模式 在一般模式下可以進行刪除,複製,貼上等操作,卻無法進行編輯操作。等按下 i,i,o,o,a,a,r,r 等 字母之後才能進入編輯模式.通常在linux中,按下上述字母時,左下方會出現 insert 或者 replace 字樣...