linux中vigr命令 linux vg命令

Linux之vi命令

vi profile

成都創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為崖州企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,崖州網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

返回

:q 退出

:wq或者:x或者shift+zz 保存并退出

:q! 不保存并退出

:w 保存

:w! 強制保存

編輯到輸入模式:

i 在當(dāng)前光標(biāo)前面輸入

I 在當(dāng)前光標(biāo)所在行的行首,轉(zhuǎn)換為輸入模式

a 在當(dāng)前光標(biāo)后面輸入

A 在當(dāng)前光標(biāo)所在行的行尾,轉(zhuǎn)換為輸入模式

o 在當(dāng)前光標(biāo)所在行的下方,新建一行,并轉(zhuǎn)為輸入模式

O 在當(dāng)前光標(biāo)所在行的上方,新建一行,并轉(zhuǎn)為輸入模式

1、 移動光標(biāo)

字符:方向鍵上下左右或者鍵盤kjhl(上下左右)

單詞:w移至下一個單詞的詞首;e跳至當(dāng)前或下一個單詞的詞尾;b跳至當(dāng)前或前一個單詞的詞首

行內(nèi):0絕對行首;^行首的第一個非空白字符;$絕對行尾

行間:G文章末尾;3G第3行;gg文章開頭

翻屏:ctrl f【往后翻】;Ctrl b【往前翻】

2、 刪除、替換單個字符

x刪除光標(biāo)位置字符;3x刪除光標(biāo)開始3個字符;r替換光標(biāo)位置字符

dw刪除一個單詞;4dw刪除光標(biāo)開始的4個單詞;dd刪除光標(biāo)所在行;5dd刪除光標(biāo)開始的5行

3、復(fù)制粘貼剪切

yw復(fù)制一個單詞,p在該行粘貼單詞;yy復(fù)制整行,p在該行下方粘貼整行

dd剪切整行,p再粘貼整行;dw剪切一個單詞,p再粘貼一個單詞

4、 撤銷重做

u:撤銷;ctrl+r:重做撤銷的操作;.重復(fù)上一步的操作【假設(shè)先dd,再.,會再執(zhí)行dd命令】

1、 set設(shè)置

set nu

set nonu

set readonly #設(shè)置只讀文件,不能修改,只在當(dāng)前環(huán)境有效,退出文件,再次打開,這個只讀就無效了

set noreadonly #取消只讀

2、 /查找

/after查找文檔中的after【可以找到所有的after】,n向下翻,N向上翻

:/after查找文檔中的after所在行【可以找到所有的after】,n向下翻,N向上翻

3、!執(zhí)行命令

比如:查找root目錄

:!ls /root/

4、 查找并替換

格式

【 :查找范圍s/查找的詞/要替換的詞/ 】

或者【:查找范圍s#查找的詞#要替換的詞# 】

或者【:查找范圍s%查找的詞%要替換的詞%】,

即分隔符可以是/、#、%

其中, 查找范圍 包括【.當(dāng)前光標(biāo)行】;【$末尾行】;【%全文】;【g一行內(nèi)全部替換】;【i忽略大小寫】

比如 【 :.,$s/after/before/】 表示在當(dāng)前光標(biāo)行【.】到末尾【$】這個范圍內(nèi),將after替換為before, 但是如果一行有多個after的話,只會把第一個after替換掉 。

比如 【 :%s/after/before/】 表示在全文,將after替換為before,但是如果一行有多個after的話,只會把第一個after替換掉。

比如 【:%s/after/before/g】 ,表示在全文,將after替換為before,但是 如果一行有多個after的話,會把該行所有after替換掉,因為在命令里面加了g 。

比如 【:%s/after/before/gi】 ,表示在全文,將after替換為before,且忽略大小寫并替換一行內(nèi)所有after。

比如 【 :%d或者dG】 ,表示刪除全文

比如 【:1,$-4d】 ,表示刪除第一行到倒數(shù)第5行的數(shù)據(jù)

比如 【:1,4y】 ,表示復(fù)制1到4行,再按p可粘貼這4行

Linux vi 操作命令

進(jìn)入vi的命令

vi filename :打開或新建文件,并將光標(biāo)置于第一行首

vi +n filename :打開文件,并將光標(biāo)置于第n行首

vi + filename :打開文件,并將光標(biāo)置于最后一行首

vi +/pattern filename:打開文件,并將光標(biāo)置于第一個和pattern匹配的串處

vi -r filename :在上次正用vi編輯時發(fā)生系統(tǒng)崩潰,恢復(fù)filename

vi filename....filename :打開多個文件,依次進(jìn)行編輯

移動光標(biāo)類命令

h :光標(biāo)左移一個字符

l :光標(biāo)右移一個字符

space:光標(biāo)右移一個字符

Backspace:光標(biāo)左移一個字符

k或Ctrl+p:光標(biāo)上移一行

j或Ctrl+n :光標(biāo)下移一行

Enter :光標(biāo)下移一行

w或W :光標(biāo)右移一個字至字首

b或B :光標(biāo)左移一個字至字首

e或E :光標(biāo)右移一個字至字尾

) :光標(biāo)移至句尾

( :光標(biāo)移至句首

}:光標(biāo)移至段落開頭

{:光標(biāo)移至段落結(jié)尾

nG:光標(biāo)移至第n行首

n+:光標(biāo)下移n行

n-:光標(biāo)上移n行

n$:光標(biāo)移至第n行尾

H :光標(biāo)移至屏幕頂行

M :光標(biāo)移至屏幕中間行

L :光標(biāo)移至屏幕最后行

0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首

$:光標(biāo)移至當(dāng)前行尾

屏幕翻滾類命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:將第n行滾至屏幕頂部,不指定n時將當(dāng)前行滾至屏幕頂部。

插入文本類命令

i :在光標(biāo)前

I :在當(dāng)前行首

a:光標(biāo)后

A:在當(dāng)前行尾

o:在當(dāng)前行之下新開一行

O:在當(dāng)前行之上新開一行

r:替換當(dāng)前字符

R:替換當(dāng)前字符及其后的字符,直至按ESC鍵

s:從當(dāng)前光標(biāo)位置處開始,以輸入的文本替代指定數(shù)目的字符

S:刪除指定數(shù)目的行,并以所輸入文本代替之

ncw或nCW:修改指定數(shù)目的字

nCC:修改指定數(shù)目的行

刪除命令

ndw或ndW:刪除光標(biāo)處開始及其后的n-1個字

do:刪至行首

d$:刪至行尾

ndd:刪除當(dāng)前行及其后n-1行

x或X:刪除一個字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的

Ctrl+u:刪除輸入方式下所輸入的文本

搜索及替換命令

/pattern:從光標(biāo)開始處向文件尾搜索pattern

?pattern:從光標(biāo)開始處向文件首搜索pattern

n:在同一方向重復(fù)上一次搜索命令

N:在反方向上重復(fù)上一次搜索命令

:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:將文件中所有p1均用p2替換

選項設(shè)置

all:列出所有選項設(shè)置情況

term:設(shè)置終端類型

ignorance:在搜索中忽略大小寫

list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)

number:顯示行號

report:顯示由面向行的命令修改過的數(shù)目

terse:顯示簡短的警告信息

warn:在轉(zhuǎn)到別的文件時若沒保存當(dāng)前文件則顯示NO write信息

nomagic:允許在搜索模式中,使用前面不帶“”的特別字符

nowrapscan:禁止vi在搜索到達(dá)文件兩端時,又從另一端開始

mesg:允許vi顯示其他用戶用write寫到自己終端上的信息

最后行方式命令

:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下

:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下

:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除

:w :保存當(dāng)前文件

:e filename:打開文件filename進(jìn)行編輯

:x:保存當(dāng)前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:!command:執(zhí)行shell命令command

:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個文件內(nèi)容作為command的輸入

:r!command:將命令command的輸出結(jié)果放到當(dāng)前行

寄存器操作

"?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個字母,n為一個數(shù)字

"?nyw:將當(dāng)前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數(shù)字

"?nyl:將當(dāng)前行及其下n個字符保存到寄存器?中,其中?為一個字母,n為一個數(shù)字

"?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?能是個字母,也能是個數(shù)字

ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號刪除寄存器中。

進(jìn)入vi

vi test

離開vi

:q! 離開vi,并放棄剛在緩沖區(qū)內(nèi)編輯的內(nèi)容。

:wq 將緩沖區(qū)內(nèi)的資料寫入磁盤中,并離開vi。

:ZZ 同wq

同wq

:w 將緩沖區(qū)內(nèi)的資料寫入磁盤中,但并不離開vi。

:q 離開vi,若文件被修改過,則會被需求確認(rèn)是否放棄修改的內(nèi)容,此指令可和: w 配合使用。

Vi 的操作模式

Vi 提供兩種操作模式:

輸入模式(insert mode)

指令模式(command mode)

當(dāng)使用者進(jìn)入vi后,既處于指令模式下,此刻鍵入所有字元皆被視為指令。

輸入模式:a(append) 游標(biāo)之后加入資料。

A 該行之末加入資料

i (insert) 游標(biāo)之前加入資料

I 該行之首加入資料

o (open) 新增一行和該行之下供輸入資料

O 新增一行和該行之上供輸入資料

指令模式:B    移至該行第一個字符,若光標(biāo)在該行第一字符則光標(biāo)移至上一行第一字符。

b 由游標(biāo)所在位置之前一個字串的第一個字元

 cc 刪除整行,修改整行的內(nèi)容。

 D  以行為單位,刪除游標(biāo)在內(nèi)后面的所有字符。

db 刪除該行光標(biāo)前字符

 dd 刪除該行

 de 刪除自光標(biāo)開始后面的字符

 d加字符 刪除光標(biāo)所在位置至字符之間的單

 E移至該行最后字符,若光標(biāo)在該行最后字符則光標(biāo)移至下一行最后字符

 e由游標(biāo)所在位置至該字串的最后一個字元

 G 移至該檔案的最后一行 

 h 向前移一個字元

j 向下移一個字元

k 向上移一個字元

0 移至該行之首

M 移至視窗的中間那行

L 移至視窗的最后一行

 l 向后移一個字符

0 由游標(biāo)所在位置該行的第一個字元

nG 移至該檔案的第n行

n+ 自游標(biāo)所在位置向后移n行至該行的第一字符

n- 自游標(biāo)所在位置向前移n行至該行的第一字符

R 進(jìn)入取代狀態(tài),直到《ESC》為止

s 刪除游標(biāo)所在字元,并進(jìn)入取代模式直到《ESC》

S 刪除游標(biāo)所在之該行資料,并進(jìn)入輸入模式直到《ESC》

w 由游標(biāo)所在位置之下一個字串的第一個字元

x 刪除游標(biāo)所在該字元。

X 刪除游標(biāo)所在之前一字元。

r 用接于此指令之后的字元取代(replace)游標(biāo)所在字元

yy yank整行,使游標(biāo)所在該行復(fù)制到記憶體緩沖區(qū)

顯示該行之行號、檔案名稱、檔案中最末之行號、游標(biāo)所在行號占

總行號之百分比

$ 由游標(biāo)所在位置至該行的最后一個字元。

) 由游標(biāo)所在位置至下一個句子的第一個字元。

( 由游標(biāo)所在位置至該句子的第一個字元。

{ 由游標(biāo)所在位置至該段落的最后一個字元。

} 由游標(biāo)所在位置至該段落的第一個字元

yank和delete可將指定的資料復(fù)制到記憶體緩沖區(qū),而藉有put指令可將緩沖區(qū)內(nèi)的資料復(fù)制到熒幕上

例如:搬移一行 :在該行執(zhí)行dd

游標(biāo)移至目的地

執(zhí)行p

復(fù)制一行 :在該行執(zhí)行yy

游標(biāo)移至目的地

執(zhí)行p

視窗移動:

視窗往下卷一頁

視窗往上卷一頁

視窗往下卷半頁

視窗往上卷半頁

視窗往下卷一行

視窗往上卷一行

刪除、復(fù)制及修改指令介紹:

d(delete)、c(change)和y(yank)這一類的指令在vi 中的指令格式為:

operation+scope=command

(運算子)(范圍)

運算子:

d 刪除指令。刪除資料,但會將刪除資料復(fù)制到記憶體緩沖區(qū)。

y 將資料(字組、行列、句子或段落)復(fù)制到緩沖區(qū)。

p 放置(put)指令,和d和y配合使用??蓪⒆詈骴elete或yank的資料放置于游標(biāo)所在位置之行列下。

c 修改(change)指令,類似delete于insert的組合。刪除一個字組、句子等資料,并插入新鍵入的

linux vi命令的使用方法

vi的基本概念

基本上vi可分為三種操作狀態(tài),分別是命令模式(Command mode)、插入模式(Insert mode)和底線命令模式(Last line mode),

各模式的功能區(qū)分如下:

1. Comand mode:控制屏幕光標(biāo)的移動,字符或光標(biāo)的刪除,移動復(fù)制某區(qū)段及進(jìn)入Insert mode下,或者到Last line mode。

2. Insert mode:唯有在Insert mode下,才可做文字?jǐn)?shù)據(jù)輸入,按Esc等可回到Comand mode。

3. Last line mode:將儲存文件或離開編輯器,也可設(shè)置編輯環(huán)境,如尋找字符串、列出行號等。

不過可以把vi簡化成兩個模式,即是將Last line mode也算入Command mode,把vi分成Command 和Insert mode。

vi的基本操作

?進(jìn)入vi

在系統(tǒng)提示符號輸入vi及文件名稱后,即可進(jìn)入vi全屏幕編輯畫面:

$ vi testfile

有一點要特別注意,就是您進(jìn)入vi之后是處于“Command mode”下,您要切換到Insert mode才能輸入文字。

初次用vi的用戶都會想先用上下左右鍵移動光標(biāo),結(jié)果電腦一直叫,把自己氣個半死,所以進(jìn)入vi后,先不要亂動,

轉(zhuǎn)換入Insert后再說。?切換至Insert mode編輯文件在Command mode下按‘i’、‘a(chǎn)’或‘o’三鍵就可進(jìn)入Insert mode。

這時候您就可以開始輸入文字了。

i: 插入,從目前光標(biāo)所在之處插入所輸入的文字。

a: 增加,目前光標(biāo)所在的下一個字開始輸入文字。

o: 插入新的一行,從行首開始輸入文字。

?Insert的切換→Command mode,按Esc鍵

您目前處于Insert mode,您就只能一直打字。假如您發(fā)現(xiàn)打錯字了,想用光標(biāo)鍵往回移動,將該字刪除,

就要按ESC鍵轉(zhuǎn)換回Command mode,再刪除文字。

?離開vi及存文件

在Command mode下,可按冒號“:”鍵入入Last line mode,例如:

:w filename (輸入“w filename”,將文章存入指定的文件名filename)

:wq (輸入“wq”,因為進(jìn)入之時已經(jīng)指定文件名testfile,所以會寫入testfile并離開vi)

:q! (輸入“q!”,強制離開并放棄編輯的文件)

Command mode功能鍵列表

在介紹command mode指令的時后,指令后面加上“常用”字眼的功能鍵,表示比較常用的vi指令,

請讀者您一定要學(xué)會、記住。

(1)I、a、o切換進(jìn)入Insert mode。[超級常用]

(2)移動光標(biāo)

vi可以直接用鍵盤上的光標(biāo)鍵來上下左右移動,但正規(guī)的vi是用小寫英文字母

h、j、k、l,分別控制光標(biāo)左、下、上、右移一格。

按Ctrl+B:屏幕往后移動一頁。[常用]

按Ctrl+F:屏幕往前移動一頁。[常用]

按Ctrl+U:屏幕往后移動半頁。

按Ctrl+D:屏幕往前移動半頁。

按 0 (數(shù)字零):移動文章的開頭。[常用]

按 G:移動到文章的最后。[常用]

按 w:光標(biāo)跳到下個word的開頭。[常用]

按 e:光標(biāo)跳到下個word的字尾。

按 b:光標(biāo)回到上個word的開頭。

按 $:移到光標(biāo)所在行的行尾。[常用]

按 ^:移到該行第一個非空白的字符。

按 0:移到該行的開頭位置。[常用]

按 #:移到該行的第#個位置,例:51、121。[常用]

(3)刪除文字

x:每按一次刪除光標(biāo)所在位置的后面一個字符。[超常用]

#x:例如,6x 表刪除光標(biāo)所在位置的后面6個字符。[常用]

X:大字的X,每按一次刪除光標(biāo)所在位置的前面一個字符。

#X:例如,20X 表刪除光標(biāo)所在位置的前面20個字符。

dd:刪除光標(biāo)所在行。[超常用]

#dd:例如,6dd表刪除從光標(biāo)所在的該行往下數(shù)6行之文字。[常用]

(4)復(fù)制

yw:將光標(biāo)所在處到字尾的字符復(fù)制到緩沖區(qū)中。

(想在和#x、#X的功能相反)

p:將緩沖區(qū)內(nèi)的字符粘貼到光標(biāo)所在位置(指令‘yw’與‘p必須搭配使用)。

yy:復(fù)制光標(biāo)所在行。[超常用]

p:復(fù)制單行到您想粘貼之處。(指令‘yy’與‘p’必須搭配使用)

#yy:如:6yy表示拷貝從光標(biāo)所在的該行往下數(shù)6行之文字。[常用]

p:復(fù)制多行到您想粘貼之處。(指令‘#yy’與‘p’必須搭配使用)

“ayy:將復(fù)制行放入buffer a, vi提供buffer功能,可將常用的數(shù)據(jù)存在buffer

“ap:將放在buffer a的數(shù)據(jù)粘貼。

“b3yy:將三行數(shù)據(jù)存入buffer b。

“b3p:將存在buffer b的資料粘貼

(5)取代

r: 取代光標(biāo)所在處的字符:[常用]

R:取代字符直到按Esc為止。

(6)復(fù)原(undo)上一個指令

u:假如您誤操作一個指令,可以馬上按u,回復(fù)到上一個操作。[超常用]

.: .可以重復(fù)執(zhí)行上一次的指令。

(7)更改

cw:更改光標(biāo)所在處的字到字尾$處。

c#w:例如,c3w代表更改3個字。

(8)跳至指定行

Ctrl+G:列出光標(biāo)所在行的行號。

#G:例如,15G,表示移動光標(biāo)至文章的第15行行首。[常用]

Last line mode下指令簡介

讀者您要使用Last line mode之前,請記得先按Esc鍵確定您已經(jīng)處于Command mode下后,再按冒號“:”或“/”或“?”

三鍵的其中一鍵進(jìn)入Last line mode。

1.列出行號

set nu: 輸入“set nu”后,會在文章的每一行前面列出行號。

2.跳到文章的某一行

#:井號代表一個數(shù)字,在Last line mode提示符號“:”前輸入數(shù)字,再按Enter就會跳到該行了,

如:15[Enter]就會跳到文章的第15行。[常用]

3.尋找字符串

/關(guān)鍵字:先按/,再輸入您想尋找的字,如果第一次找的關(guān)鍵字不是您相盡可能的,可以一直按n會往下尋找到您要的關(guān)鍵字為止。

?關(guān)鍵字:先按?,再輸入您想尋找的字,如果第一次找的關(guān)鍵字不是您想要的,可以按n會往前尋找到您要的關(guān)鍵字為止。

4.取代字符串

1,$s/string/replae/g:在last line mode輸入“1,$s/string/replace/g”會將全文的string字符串取代為replace字符串,

其中1,$s就是指搜尋區(qū)間為文章從頭至尾的意思,g則是表示全部取代不必確認(rèn)。

%s/string/replace/c:同樣會將全文的string字符串取代為replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,

c則是表示要替代之前必須再次確認(rèn)是否取代。

1,20s/string/replace/g:將1至20行間的string替代為relpace字符串。

5.存文件

w:在last line mode提示符號“:”前按w即可將文件存起來。[超常用]

#,# w filename:如果您想摘取文章的某一段,存成另一個文件,可用這個指令#代表行號,例如30,50 w nice,

將您正在編輯文章的第30~50行存成nice這個文件。

6.離開

q:按q就離開,有時如果無法離開vi,可搭配“!:強置離開vi,如“q!”

qw:一般建議離開時,搭配w一起使用,如此離開時還可存文件

當(dāng)前文章:linux中vigr命令 linux vg命令
文章URL:http://muchs.cn/article30/ddcicpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站網(wǎng)站設(shè)計、全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司