Linux系統(tǒng)中vi命令的詳細(xì)解釋
在Linux系統(tǒng)中,vi編輯器是個功能強大的富文本編輯器,那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中vi命令的詳細(xì)解釋的相關(guān)知識,希望對大家有幫助!
Linux系統(tǒng)中vi命令的詳細(xì)解釋
vi命令
vi命令是UNIX操作系統(tǒng)和類UNIX操作系統(tǒng)中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現(xiàn)了很多增強功能。
vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。默認(rèn)情況下,打開vi編輯器后自動進(jìn)入命令模式。從編輯模式切換到命令模式使用“esc”鍵,從命令模式切換到編輯模式使用“A”、“a”、“O”、“o”、“I”、“i”鍵。
vi編輯器提供了豐富的內(nèi)置命令,有些內(nèi)置命令使用鍵盤組合鍵即可完成,有些內(nèi)置命令則需要以冒號“:”開頭輸入。常用內(nèi)置命令如下:
Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:從編輯模式切換到命令模式;
ZZ:命令模式下保存當(dāng)前文件所做的修改后退出vi;
:行號:光標(biāo)跳轉(zhuǎn)到指定行的行首;
:$:光標(biāo)跳轉(zhuǎn)到最后一行的行首;
x或X:刪除一個字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的;
D:刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的全部字符;
dd:刪除光標(biāo)行正行內(nèi)容;
ndd:刪除當(dāng)前行及其后n-1行;
nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個字母,n為一個數(shù)字;
p:粘貼文本操作,用于將緩存區(qū)的內(nèi)容粘貼到當(dāng)前光標(biāo)所在位置的下方;
P:粘貼文本操作,用于將緩存區(qū)的內(nèi)容粘貼到當(dāng)前光標(biāo)所在位置的上方;
/字符串:文本查找操作,用于從當(dāng)前光標(biāo)所在位置開始向文件尾部查找指定字符串的內(nèi)容,查找的字符串會被加亮顯示;
?name:文本查找操作,用于從當(dāng)前光標(biāo)所在位置開始向文件頭部查找指定字符串的內(nèi)容,查找的字符串會被加亮顯示;
a,bs/F/T:替換文本操作,用于在第a行到第b行之間,將F字符串換成T字符串。其中,“s/”表示進(jìn)行替換操作;
a:在當(dāng)前字符后添加文本;
A:在行末添加文本;
i:在當(dāng)前字符前插入文本;
I:在行首插入文本;
o:在當(dāng)前行后面插入一空行;
O:在當(dāng)前行前面插入一空行;
:wq:在命令模式下,執(zhí)行存盤退出操作;
:w:在命令模式下,執(zhí)行存盤操作;
:w!:在命令模式下,執(zhí)行強制存盤操作;
:q:在命令模式下,執(zhí)行退出vi操作;
:q!:在命令模式下,執(zhí)行強制退出vi操作;
:e文件名:在命令模式下,打開并編輯指定名稱的文件;
:n:在命令模式下,如果同時打開多個文件,則繼續(xù)編輯下一個文件;
:f:在命令模式下,用于顯示當(dāng)前的文件名、光標(biāo)所在行的行號以及顯示比例;
:set number:在命令模式下,用于在最左端顯示行號;
:set nonumber:在命令模式下,用于在最左端不顯示行號;
語法
vi(選項)(參數(shù))
選項
+<行號>:從指定行號的行開始先是文本內(nèi)容;
-b:以二進(jìn)制模式打開文件,用于編輯二進(jìn)制文件和可執(zhí)行文件;
-c<指令>:在完成對第一個文件編輯任務(wù)后,執(zhí)行給出的指令;
-d:以diff模式打開文件,當(dāng)多個文件編輯時,顯示文件差異部分;
-l:使用lisp模式,打開“lisp”和“showmatch”;
-m:取消寫文件功能,重設(shè)“write”選項;
-M:關(guān)閉修改功能;
-n:不實用緩存功能;
-o<文件數(shù)目>:指定同時打開指定數(shù)目的文件
; -R:以只讀方式打開文件;
-s:安靜模式,不現(xiàn)實指令的任何錯誤信息。
參數(shù)
文件列表:指定要編輯的文件列表。多個文件之間使用空格分隔開。
Linux系統(tǒng)中vi命令的基本操作
vi的基本操作
a) 進(jìn)入vi
在系統(tǒng)提示符號輸入vi及文件名稱后,就進(jìn)入vi全屏幕編輯畫面:
$ vi myfile
不過有一點要特別注意,就是您進(jìn)入vi之后,是處于「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動光標(biāo),結(jié)果電腦一直嗶嗶叫,把自己氣個半死,所以進(jìn)入vi后,先不要亂動,轉(zhuǎn)換到「插入模式(Insert mode)」再說吧!
b) 切換至插入模式(Insert mode)編輯文件
在「命令行模式(command mode)」下按一下字母「i」就可以進(jìn)入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。
c) Insert 的切換
您目前處于「插入模式(Insert mode)」,您就只能一直輸入文字,如果您發(fā)現(xiàn)輸錯了字!想用光標(biāo)鍵往回移動,將該字刪除,就要先按一下「ESC」鍵轉(zhuǎn)到「命令行模式(command mode)」再刪除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒號鍵進(jìn)入「Last line mode」,例如:
: w filename (輸入 「w filename」將文章以指定的文件名filename保存)
: wq (輸入「wq」,存盤并退出vi)
: q! (輸入q!, 不存盤強制退出vi)
3、命令行模式(command mode)功能鍵
1). 插入模式
按「i」切換進(jìn)入插入模式「insert mode」,按"i"進(jìn)入插入模式后是從光標(biāo)當(dāng)前位置開始輸入文件;
按「a」進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個位置開始輸入文字;
按「o」進(jìn)入插入模式后,是插入新的一行,從行首開始輸入文字。
2). 從插入模式切換為命令行模式
按「ESC」鍵。
3). 移動光標(biāo)
vi可以直接用鍵盤上的光標(biāo)來上下左右移動,但正規(guī)的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標(biāo)左、下、上、右移一格。
按「ctrl」+「b」:屏幕往"后"移動一頁。
按「ctrl」+「f」:屏幕往"前"移動一頁。
按「ctrl」+「u」:屏幕往"后"移動半頁。
按「ctrl」+「d」:屏幕往"前"移動半頁。
按數(shù)字「0」:移到文章的開頭。
按「G」:移動到文章的最后。
按「$」:移動到光標(biāo)所在行的"行尾"。
按「^」:移動到光標(biāo)所在行的"行首"
按「w」:光標(biāo)跳到下個字的開頭
按「e」:光標(biāo)跳到下個字的字尾
按「b」:光標(biāo)回到上個字的開頭
按「#l」:光標(biāo)移到該行的第#個位置,如:5l,56l。
4). 刪除文字
「x」:每按一次,刪除光標(biāo)所在位置的"后面"一個字符。
「#x」:例如,「6x」表示刪除光標(biāo)所在位置的"后面"6個字符。
「X」:大寫的X,每按一次,刪除光標(biāo)所在位置的"前面"一個字符。
「#X」:例如,「20X」表示刪除光標(biāo)所在位置的"前面"20個字符。
「dd」:刪除光標(biāo)所在行。
「#dd」:從光標(biāo)所在行開始刪除#行