標(biāo)題: liunx vi常用命令 [打印本頁(yè)]

作者: 51黑tt    時(shí)間: 2016-3-6 13:21
標(biāo)題: liunx vi常用命令
      vi(Visual)是以視覺(jué)為導(dǎo)向的全屏幕編輯器、共分為三種方式(mode):

command方式:

 任何輸入都會(huì)作為編輯命令,而不會(huì)出現(xiàn)在屏幕上,若輸入錯(cuò)誤則有“岬”的聲音;任何輸入都引起立即反映

insert方式:

 任何輸入的數(shù)據(jù)都置于編輯寄存器。在command方式下輸入(I,a,A等),可進(jìn)入insert方式,insert方式下按ESC,可跳回command方式。

escape方式:

以“:”或者“/”為前導(dǎo)的指令,出現(xiàn)在屏幕的最下一行,任何輸入都被當(dāng)成特別指令。

進(jìn)入vi(在系統(tǒng)提示符下面輸入以下指令):

vi           進(jìn)入vi而不讀入任何文件

vi filename      進(jìn)入vi并讀入指定名稱(chēng)的文件(新、舊文件均可)。

vi +n filename    進(jìn)入vi并且由文件的第幾行開(kāi)始。

vi +filename      進(jìn)入vi并且由文件的最后一行開(kāi)始。

vi + /word filename  進(jìn)入vi并且由文件的word這個(gè)字開(kāi)始。

vi filename(s)     進(jìn)入vi并且將各指定文件列入名單內(nèi),第一個(gè)文件先讀入。

vedit         進(jìn)入vi并且在輸入方式時(shí)會(huì)在狀態(tài)行顯示“INSERT MODE"。

編輯數(shù)個(gè)文件(利用vi filename(s))進(jìn)入vi后)

:args         顯示編輯名單中的各個(gè)文件名

:n          讀入編輯名單中的下一個(gè)文件

:rew         讀入編輯名單中的第一個(gè)文件

:e#          讀入編輯名單內(nèi)的前一個(gè)文件

:e file        讀入另一個(gè)文件進(jìn)vi(此文件可不在編輯名單內(nèi)),若原文件經(jīng)修改還沒(méi)有存檔,則應(yīng)先以: w 存檔。

:e! file       強(qiáng)迫讀入另一個(gè)文件進(jìn)入vi,原文件不作存檔動(dòng)作。

存儲(chǔ)及退出vi

:w filename      存入指定文件,但未退出vi(若未指定文件名則為當(dāng)前工作的文件名)。

:wq 或者 :x或者zz   存文件,并且退出vi.

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

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

:!command       暫時(shí)退出vi并執(zhí)行shell指令,執(zhí)行完畢后再回到vi。

:sh          暫時(shí)退出vi到系統(tǒng)下,結(jié)束時(shí)按Ctrl + d則回到vi。

加數(shù)據(jù)指令

i           在關(guān)標(biāo)位置開(kāi)始插入字符,結(jié)束時(shí)候按ESC鍵。

I           在光標(biāo)所在行的最前面開(kāi)始加字,結(jié)束時(shí)按ESC鍵。

a           在光標(biāo)位置后開(kāi)始加字,結(jié)束時(shí)按ESC鍵。

A           在光標(biāo)所在行的最后面開(kāi)始加字,結(jié)束時(shí)按ESC鍵。

o           在光標(biāo)下加一空白行并開(kāi)始加字,結(jié)束時(shí)按ESC鍵。

O           在光標(biāo)上加一空白行并開(kāi)始加字,結(jié)束時(shí)按ESC鍵。

!command       執(zhí)行shell指令,并把結(jié)果加在光標(biāo)所在行的下一行。

刪除指令

nx          刪除由光標(biāo)位置起始的n個(gè)字符(含光標(biāo)位置,按一個(gè)x表示刪除光標(biāo)所在的字符)

nX           刪除由光標(biāo)位置起始的n個(gè)字符(不含光標(biāo)位置)。

ndw          刪除光標(biāo)位置其實(shí)的n個(gè)字符組(word)。

d0           將行的開(kāi)始到光標(biāo)位置的字符全部刪除。

d$ 或D         將光標(biāo)位置起始到行尾的字符全部刪除。

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

:start,endd      刪除文件的第start到end行。

光標(biāo)移動(dòng)

0           移到一行的開(kāi)始

$           移到一行的最后

[           移到文件開(kāi)始位置

]           移到文件結(jié)束位置

nh          往左移n位

nl或者spacebar     往右移n位

nk          向上移n行

n+          向上移n行,光標(biāo)在該行的起始

ni           向下移n行

n-          向下移n行,光標(biāo)在該行的起始

H           移到屏幕的左上角

M           移到屏幕的中間行開(kāi)頭

L           移到屏幕的最后一行

G           移到文件的最后一行

nG或者:n       移到文件的第n行

nw          右移n個(gè)字組,標(biāo)點(diǎn)符號(hào)屬于字組

nW          右移n個(gè)字組,標(biāo)點(diǎn)符號(hào)不屬于字組

nb          左移n個(gè)字組,標(biāo)點(diǎn)符號(hào)屬于字組

nB          左移n個(gè)字組,標(biāo)點(diǎn)符號(hào)不屬于字組

Ctrl + u       屏幕上卷半個(gè)菜單

Ctrl + d        屏幕下卷半個(gè)菜單

Ctrl + b        屏幕上卷一個(gè)菜單

Ctrl + F        屏幕下卷一個(gè)菜單

修改指令

r           修改光標(biāo)文件的字符

R           從光標(biāo)位置開(kāi)始修改,結(jié)束時(shí)按ESC鍵

new          更改n組字符,結(jié)束時(shí)按ESC鍵

ncc          從光標(biāo)所在位置開(kāi)始更改n行,結(jié)束時(shí)按ESC鍵

重排各行長(zhǎng)度

i           并按Enter將該行由光標(biāo)所在處斷開(kāi),并進(jìn)入insert方式

J           把下一行的數(shù)據(jù)連接到本行之后

查找指令

/text         從光標(biāo)位置往下找字串text

?text         從光標(biāo)位置往上找字串text

n           繼續(xù)找下一個(gè)字串(在輸入上面的尋找指令之后使用)

查找并替換指令

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

               option=g表示文件中所有的text1均被替換,若未輸入任何option,則只有各行中的第一個(gè)出現(xiàn)的text1被替換

               option=go 在屏幕顯示各替換的行

               option=gc 在每個(gè)字串替換之前要求確認(rèn) 

Start,end%s/text1/ text2/options  同上,只查找并替換第start~end行。

或:Start,ends/text1/text2/options

復(fù)制及移動(dòng)文件

:first,last co dest      將first 到last行的數(shù)據(jù)復(fù)制到目標(biāo)行(dest)下面

:Start,end m dest      將start 到 end行的數(shù)據(jù)移動(dòng)到目標(biāo)行(dest)下。   

:r filename          將指定文件的內(nèi)容讀入光標(biāo)所在行下。

nY               將光標(biāo)所在位置開(kāi)始的n行數(shù)據(jù)暫存

p               復(fù)制暫存數(shù)據(jù)在光標(biāo)的下一行

P               復(fù)制暫存數(shù)據(jù)在光標(biāo)的上一行

其他命令

.               重復(fù)前一指令

u               取消前一指令

Ctrl + l           刷新屏幕顯示

:set number          顯示文件的行號(hào),但不會(huì)存文件

:set nonumber         解除行號(hào)顯示

:set ai            設(shè)置每行起始位置(以光標(biāo)當(dāng)前位置為起始)

:set noai           取消行起始位置設(shè)定







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1