Linux系統(tǒng)中vi命令的詳細(xì)解釋(2)
5). 復(fù)制
「yw」:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中。
「#yw」:復(fù)制#個(gè)字到緩沖區(qū)
「yy」:復(fù)制光標(biāo)所在行到緩沖區(qū)。
「#yy」:例如,「6yy」表示拷貝從光標(biāo)所在的該行"往下數(shù)"6行文字。
「p」:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與"y"有關(guān)的復(fù)制命令都必須與"p"配合才能完成復(fù)制與粘貼功能。
6). 替換
「r」:替換光標(biāo)所在處的字符。
「R」:替換光標(biāo)所到之處的字符,直到按下「ESC」鍵為止。
7). 回復(fù)上一次操作
「u」:如果您誤執(zhí)行一個(gè)命令,可以馬上按下「u」,回到上一個(gè)操作。按多次"u"可以執(zhí)行多次回復(fù)。
8). 更改
「cw」:更改光標(biāo)所在處的字到字尾處
「c#w」:例如,「c3w」表示更改3個(gè)字
9). 跳至指定的行
「ctrl」+「g」列出光標(biāo)所在行的行號(hào)。
「#G」:例如,「15G」,表示移動(dòng)光標(biāo)至文章的第15行行首。
4、Last line mode下命令簡(jiǎn)介
在使用「last line mode」之前,請(qǐng)記住先按「ESC」鍵確定您已經(jīng)處于「command mode」下后,再按「:」冒號(hào)即可進(jìn)入「last line mode」。
A) 列出行號(hào)
「set nu」:輸入「set nu」后,會(huì)在文件中的每一行前面列出行號(hào)。
B) 跳到文件中的某一行
「#」:「#」號(hào)表示一個(gè)數(shù)字,在冒號(hào)后輸入一個(gè)數(shù)字,再按回車鍵就會(huì)跳到該行了,如輸入數(shù)字15,再回車,就會(huì)跳到文章的第15行。
C) 查找字符
「/關(guān)鍵字」:先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會(huì)往后尋找到您要的關(guān)鍵字為止。
「?關(guān)鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會(huì)往前尋找到您要的關(guān)鍵字為止。
D) 保存文件
「w」:在冒號(hào)輸入字母「w」就可以將文件保存起來(lái)。
E) 離開vi
「q」:按「q」就是退出,如果無(wú)法離開vi,可以在「q」后跟一個(gè)「!」強(qiáng)制離開vi。
「qw」:一般建議離開時(shí),搭配「w」一起使用,這樣在退出的時(shí)候還可以保存文件。
5、vi命令列表
1、下表列出命令模式下的一些鍵的功能:
h
左移光標(biāo)一個(gè)字符
l
右移光標(biāo)一個(gè)字符
k
光標(biāo)上移一行
j
光標(biāo)下移一行
^
光標(biāo)移動(dòng)至行首
0
數(shù)字"0",光標(biāo)移至文章的開頭
G
光標(biāo)移至文章的最后
$
光標(biāo)移動(dòng)至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光標(biāo)位置前插入字符
a
在光標(biāo)所在位置的后一個(gè)字符開始增加
o
插入新的一行,從行首開始輸入
ESC
從輸入狀態(tài)退至命令狀態(tài)
x
刪除光標(biāo)后面的字符
#x
刪除光標(biāo)后的#個(gè)字符
X
(大寫X),刪除光標(biāo)前面的字符
#X
刪除光標(biāo)前面的#個(gè)字符
dd
刪除光標(biāo)所在的行
#dd
刪除從光標(biāo)所在行數(shù)的#行
yw
復(fù)制光標(biāo)所在位置的一個(gè)字
#yw
復(fù)制光標(biāo)所在位置的#個(gè)字
yy
復(fù)制光標(biāo)所在位置的一行
#yy
復(fù)制從光標(biāo)所在行數(shù)的#行
p
粘貼
u
取消操作
cw
更改光標(biāo)所在位置的一個(gè)字
#cw
更改光標(biāo)所在位置的#個(gè)字
2、下表列出行命令模式下的一些指令
w filename
儲(chǔ)存正在編輯的文件為filename
wq filename
儲(chǔ)存正在編輯的文件為filename,并退出vi
q!
放棄所有修改,退出vi
set nu
顯示行號(hào)
/或?
查找,在/后輸入要查找的內(nèi)容
n
與/或?一起使用,如果查找的內(nèi)容不是想要找的關(guān)鍵字,按n或向后(與/聯(lián)用)或向前(與?聯(lián)用)繼續(xù)查找,直到找到為止。
對(duì)于第一次用vi,有幾點(diǎn)注意要提醒一下:
1、用vi打開文件后,是處于「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。切換方法:在「命令行模式(command mode)」下按一下字母「i」就可以進(jìn)入「插入模式(Insert mode)」,這時(shí)候你就可以開始輸入文字了。
2、編輯好后,需從插入模式切換為命令行模式才能對(duì)文件進(jìn)行保存,切換方法:按「ESC」鍵。
3、保存并退出文件:在命令模式下輸入:wq即可!(別忘了wq前面的:)
知識(shí)擴(kuò)展:Linux系統(tǒng)中vi命令的三種工作模式
vi編輯器有三種工作方式:命令方式、輸入方式和ex轉(zhuǎn)義方式。通過(guò)相應(yīng)的命令或操作,在這三種工作方式之間可以進(jìn)行轉(zhuǎn)換。
命令方式
在Shell提示符后輸入命令vi,進(jìn)入vi編輯器,并處于vi的命令方式。此時(shí),從鍵盤上輸入的任何字符都被作為編輯命令來(lái)解釋,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示刪除字符命令等。如果輸入的字符不是vi的合法命令,則機(jī)器發(fā)出“報(bào)警聲”,光標(biāo)不移動(dòng)。另外,在命令方式下輸入的字符(即vi命令)并不在屏幕上顯示出來(lái),例如,輸入i,屏幕上并無(wú)變化,但通過(guò)執(zhí)行i命令,編輯器的工作方式卻發(fā)生變化:由命令方式變?yōu)檩斎敕绞健?/p>
輸入方式
通過(guò)輸入vi的插入命令(i)、附加命令(a)、打開命令(o)、替換命令(s)、修改命令(c)或取代命令(r)可以從命令方式進(jìn)入輸入方式。在輸入方式下,從鍵盤上輸入的所有字符都被插入到正在編輯的緩沖區(qū)中,被當(dāng)做該文件的正文。進(jìn)入輸入方式后,輸入的可見字符都在屏幕上顯示出來(lái),而編輯命令不再起作用,僅作為普通字母出現(xiàn)。例如,在命令方式下輸入字母i,進(jìn)到輸入方式,然后再輸入i,就在屏幕上相應(yīng)光標(biāo)處添加一個(gè)字母i。
由輸入方式回到命令方式的辦法是按下Esc鍵。如果已在命令方式下,那么按下Esc鍵就會(huì)發(fā)出“嘟嘟”聲。為了確保用戶想執(zhí)行的vi命令是在命令方式下輸入的,不妨多按幾下Esc鍵,聽到嘟聲后再輸入命令。
ex轉(zhuǎn)義方式
vi和ex編輯器的功能是相同的,二者的主要區(qū)別是用戶界面。在vi中,命令通常是單個(gè)字母,如a,x,r等。而在ex中,命令是以Enter;鍵結(jié)束的命令行。vi有一個(gè)專門的“轉(zhuǎn)義”命令,可訪問(wèn)很多面向行的ex命令。為使用ex轉(zhuǎn)義方式,可輸入一個(gè)冒號(hào)(:)。作為ex命令提示符,冒號(hào)出現(xiàn)在狀態(tài)行(通常在屏幕最下一行)。按下中斷鍵(通常是Del鍵),可終止正在執(zhí)行的命令。多數(shù)文件管理命令都是在ex轉(zhuǎn)義方式下執(zhí)行的(例如,讀取文件,把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。轉(zhuǎn)義命令執(zhí)行后,自動(dòng)回到命令方式。例如:
:1,$s/I/i/g 按Enter鍵
則從文件第一行至文件末尾($)將大寫I全部替換成小寫i