版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第8章章 使用使用vi編輯文件編輯文件8.1 vi的啟動與退出的啟動與退出8.2 vi的兩種模式的兩種模式8.3 基本基本vi命令命令8.4 使用使用vi查找和替換查找和替換8.5 編輯多個文件編輯多個文件8.6 小結(jié)小結(jié)習(xí)題習(xí)題vi的名字取自于的名字取自于visual,意為,意為“直觀直觀”,它是一個全,它是一個全屏幕文本編輯程序。在屏幕文本編輯程序。在Linux系統(tǒng)中系統(tǒng)中vi是最常用的是最常用的編輯程序,它的文本編輯功能十分強大,但使用起編輯程序,它的文本編輯功能十分強大,但使用起來比較復(fù)雜。初學(xué)者可能感到困難,經(jīng)過一段時間來比較復(fù)雜。初學(xué)者可能感到困難,經(jīng)過一段時間的學(xué)習(xí)和使用后,你
2、就會體會到使用的學(xué)習(xí)和使用后,你就會體會到使用vi非常方便。非常方便。Linux系統(tǒng)中的系統(tǒng)中的vi其實是其實是vim。vi與與vim的用法很像,的用法很像,因為因為vim是是vi的增強版,所以的增強版,所以vi的功能的功能vim都有,而都有,而且且vim新增了許多新增了許多vi沒有的功能,它比沒有的功能,它比vi容易使用。容易使用。本章介紹本章介紹vi編輯程序的兩種工作模式,即命令模式編輯程序的兩種工作模式,即命令模式和輸入模式。和輸入模式。1. vi的啟動的啟動輸入輸入vi命令后,便進入全屏幕編輯環(huán)境,此時命令后,便進入全屏幕編輯環(huán)境,此時的狀態(tài)為命令模式。的狀態(tài)為命令模式。(1) vi進
3、入進入vi的一個臨時緩沖區(qū),光標(biāo)定位在該緩沖的一個臨時緩沖區(qū),光標(biāo)定位在該緩沖區(qū)第區(qū)第1行第行第1列的位置上。列的位置上。(2) vi file1如果如果file1文件不存在,將建立此文件;如該文文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩沖區(qū)。光件存在,則將其拷貝到一個臨時緩沖區(qū)。光標(biāo)定位在該緩沖區(qū)第標(biāo)定位在該緩沖區(qū)第1行第行第1列的位置上。列的位置上。8.1 vi的啟動與退出的啟動與退出(3) vi+file1如果如果file1文件不存在,將建立此文件;如該文件存在,文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩沖區(qū)。光標(biāo)定位在文件最則將其拷貝到一個臨時緩
4、沖區(qū)。光標(biāo)定位在文件最后后1行第行第1列的位置上。列的位置上。(4) vi+Nfile1(N:為數(shù)字:為數(shù)字)如果如果file1文件不存在,將建立此文件;如該文件存在,文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩沖區(qū)。光標(biāo)定位在文件第則將其拷貝到一個臨時緩沖區(qū)。光標(biāo)定位在文件第N行第行第1列的位置上。列的位置上。(5) vi+/string file1如果如果file1文件不存在將建立此文件;如該文件存在則文件不存在將建立此文件;如該文件存在則將其拷貝到一個臨時緩沖區(qū)。光標(biāo)定位在文件中第將其拷貝到一個臨時緩沖區(qū)。光標(biāo)定位在文件中第一次出現(xiàn)字符串一次出現(xiàn)字符串string的行首
5、位置。的行首位置。2. 退出退出vi建議在退出建議在退出vi前,先按前,先按ESC鍵,以確保當(dāng)前鍵,以確保當(dāng)前vi的狀態(tài)的狀態(tài)為命令方式,然后再鍵入為命令方式,然后再鍵入“:”(冒號冒號),輸入下列,輸入下列命令,退出命令,退出vi。(1) :w將編輯緩沖區(qū)的內(nèi)容寫入文件,則新的內(nèi)容就替代將編輯緩沖區(qū)的內(nèi)容寫入文件,則新的內(nèi)容就替代了原始文件。這時并沒有退出了原始文件。這時并沒有退出vi,必須進一步輸入,必須進一步輸入下述命令才能退出下述命令才能退出vi::w filename(存入指定文件存入指定文件):q(2) :wq即將上面的兩步操作可以合成一步來完成,先執(zhí)行即將上面的兩步操作可以合成一
6、步來完成,先執(zhí)行w,后執(zhí)行后執(zhí)行q。(3) :x和和zz(注意:注意:zz前面沒有前面沒有“:”)功能與功能與(2)等價。等價。(4) :q!(或或:quit)強行退出強行退出vi,使被更新的內(nèi)容不寫回文件中。僅鍵入,使被更新的內(nèi)容不寫回文件中。僅鍵入命令命令:q時,如時,如vi發(fā)現(xiàn)文本內(nèi)容已被更改,將提示用發(fā)現(xiàn)文本內(nèi)容已被更改,將提示用戶使用戶使用“:quit”命令退出。命令退出。8.2 vi的兩種模式的兩種模式當(dāng)當(dāng)vi工作在命令模式下,輸入的字符被視為執(zhí)行特定工作在命令模式下,輸入的字符被視為執(zhí)行特定vi功能的命令;而工作在輸入模式下,輸入的字符功能的命令;而工作在輸入模式下,輸入的字符是
7、編輯文件的正文。命令模式是是編輯文件的正文。命令模式是vi的默認模式,命的默認模式,命令模式下輸入英文大小寫字母的含義是有區(qū)別的。令模式下輸入英文大小寫字母的含義是有區(qū)別的。兩種模式的切換見圖兩種模式的切換見圖8.1。圖圖8.1 模式轉(zhuǎn)換示意圖模式轉(zhuǎn)換示意圖在命令模式下,你所能進行的操作有移動光標(biāo)在屏在命令模式下,你所能進行的操作有移動光標(biāo)在屏幕上的位置,標(biāo)記、刪除、移動、復(fù)制字符或文本幕上的位置,標(biāo)記、刪除、移動、復(fù)制字符或文本區(qū)塊,還可以將文件寫入或退出編輯器,亦可設(shè)置區(qū)塊,還可以將文件寫入或退出編輯器,亦可設(shè)置編輯環(huán)境,如尋找字符串、列出行號等。此外在系編輯環(huán)境,如尋找字符串、列出行號等
8、。此外在系統(tǒng)提示符下輸入統(tǒng)提示符下輸入vi及文件名稱后,即進入及文件名稱后,即進入vi全屏幕全屏幕編輯畫面編輯畫面(命令模式命令模式)。只有在輸入模式下,才可進行文字輸入,按只有在輸入模式下,才可進行文字輸入,按ESC鍵可鍵可以回到命令模式。在命令模式下可按以回到命令模式。在命令模式下可按“i”或或“a”或或“o”等鍵進入輸入模式。等鍵進入輸入模式。i在目前光標(biāo)前插入所要輸入之文字。在目前光標(biāo)前插入所要輸入之文字。a在目前光標(biāo)后開始輸入文字。在目前光標(biāo)后開始輸入文字。o在當(dāng)前光標(biāo)所在行下新增一空行,并從行首開在當(dāng)前光標(biāo)所在行下新增一空行,并從行首開始輸入文字。始輸入文字。I插于行首。插于行首。
9、A插于行尾。插于行尾。O在當(dāng)前光標(biāo)所在行上新增一空行,并從行首開在當(dāng)前光標(biāo)所在行上新增一空行,并從行首開始輸入文字。始輸入文字。按下按下ESC鍵隨時可返回鍵隨時可返回vi的命令模式。如果不能確定的命令模式。如果不能確定現(xiàn)在現(xiàn)在vi是在哪個模式下,按下是在哪個模式下,按下ESC鍵以使其在命令鍵以使其在命令模式下,然后再從這里繼續(xù);如果按下模式下,然后再從這里繼續(xù);如果按下ESC鍵時已鍵時已經(jīng)在命令模式了,系統(tǒng)會鳴叫且屏幕閃一下,通知經(jīng)在命令模式了,系統(tǒng)會鳴叫且屏幕閃一下,通知你已在命令模式中。你已在命令模式中。8.3 基本基本vi命令命令1. 移動光標(biāo)移動光標(biāo)移動光標(biāo)移動光標(biāo)h、j、k、l:分別
10、控制光標(biāo)左、下、上、右:分別控制光標(biāo)左、下、上、右移一格。移一格。Ctrl+b: 上滾一屏。上滾一屏。Ctrl+f: 下滾一屏。下滾一屏。Ctrl+d: 下滾半屏。下滾半屏。Ctrl+u: 上滾半屏。上滾半屏。G: 移到文件最后。移到文件最后。w: 移到下個字的開頭。移到下個字的開頭。b: 跳至上個字的開頭。跳至上個字的開頭。2. 刪除刪除x: 刪除當(dāng)前光標(biāo)所在后面一個字符。刪除當(dāng)前光標(biāo)所在后面一個字符。#x: 刪除當(dāng)前光標(biāo)所在后面刪除當(dāng)前光標(biāo)所在后面#個字符。例如,個字符。例如,5x表示表示刪除刪除5個字符。個字符。dd: 刪除當(dāng)前光標(biāo)所在行。刪除當(dāng)前光標(biāo)所在行。#dd: 刪除當(dāng)前光標(biāo)所在后
11、面刪除當(dāng)前光標(biāo)所在后面#行。例如,行。例如,5dd表示表示刪除自光標(biāo)算起的刪除自光標(biāo)算起的5行。行。:l,#d: 例如,例如,:1,12d表示刪除自行表示刪除自行1至行至行12的文字。的文字。X: 刪當(dāng)前光標(biāo)的左字符。刪當(dāng)前光標(biāo)的左字符。D: 刪至行尾。刪至行尾。3. 更改更改cw: 更改光標(biāo)處的字到此單字的字尾處。更改光標(biāo)處的字到此單字的字尾處。c#w: 例如,例如,c3w表示更改表示更改3個字。個字。cc: 修改行。修改行。C: 替換到行尾。替換到行尾。4. 取代取代r: 取代光標(biāo)處的字符。取代光標(biāo)處的字符。R: 取代字符直到按取代字符直到按ESC為止。為止。5. 復(fù)制復(fù)制yw: 拷貝光標(biāo)
12、處的字到字尾至緩沖區(qū)??截惞鈽?biāo)處的字到字尾至緩沖區(qū)。P: 把緩沖區(qū)的資料貼上來。把緩沖區(qū)的資料貼上來。yy: 拷貝光標(biāo)所在之行至緩沖區(qū)。拷貝光標(biāo)所在之行至緩沖區(qū)。#yy: 例如例如,5yy,拷貝光標(biāo)所在之處以下,拷貝光標(biāo)所在之處以下5行至緩沖行至緩沖區(qū)。區(qū)。6. 復(fù)原復(fù)原u: 復(fù)原至上一操作。復(fù)原至上一操作。g: 列出行號,及相關(guān)信息。列出行號,及相關(guān)信息。7. 列出行號列出行號:set nu (nu為行數(shù)為行數(shù))8. 尋找字符串尋找字符串/word由首至尾尋找由首至尾尋找“word”字符串,按字符串,按n可往下繼續(xù)可往下繼續(xù)找。找。?word由尾至首尋找由尾至首尋找“word”字符串,按字符
13、串,按N可往前繼可往前繼續(xù)找。續(xù)找。9. 跳行跳行:100可跳至第可跳至第100行。行。10. 重復(fù)上一個命令重復(fù)上一個命令.重復(fù)上一個命令。重復(fù)上一個命令。8.4 使用使用vi查找和替換查找和替換vi提供了幾種定位查找一個指定的字符串在文件中位提供了幾種定位查找一個指定的字符串在文件中位置的方法。同時還提供一種功能強大的全局替換功置的方法。同時還提供一種功能強大的全局替換功能。能。1. 查找一個字符串查找一個字符串一個字符串是一行上的一個或幾個字符。一個字符串是一行上的一個或幾個字符。為查找一個字符串,在為查找一個字符串,在vi命令模式下鍵入命令模式下鍵入“/”,后面,后面跟要查找的字符串,
14、再按回車。跟要查找的字符串,再按回車。vi將光標(biāo)定位在該將光標(biāo)定位在該串下一次出現(xiàn)的地方上。鍵入串下一次出現(xiàn)的地方上。鍵入n跳到該串的下一個跳到該串的下一個出現(xiàn)處,鍵入出現(xiàn)處,鍵入N跳到該串的上一個出現(xiàn)處。跳到該串的上一個出現(xiàn)處。為了在文件中回頭查找,使用為了在文件中回頭查找,使用?代替代替/。在此情況下,。在此情況下,鍵入鍵入n跳到該串的上一個出現(xiàn)處,鍵入跳到該串的上一個出現(xiàn)處,鍵入N跳到該串跳到該串的下一個出現(xiàn)處。的下一個出現(xiàn)處。如果如果vi找到要求的串,光標(biāo)會停留在該串第一次出現(xiàn)找到要求的串,光標(biāo)會停留在該串第一次出現(xiàn)的地方。如果沒有找到該串,的地方。如果沒有找到該串,vi會在屏幕的最后
15、一會在屏幕的最后一行顯示行顯示pattern not found。查找通常是區(qū)分大小寫的,如果希望查找通常是區(qū)分大小寫的,如果希望vi在查找過程中在查找過程中忽略大小寫,則鍵入忽略大小寫,則鍵入:set ic。要使其變回默認狀態(tài),。要使其變回默認狀態(tài),則鍵入則鍵入:set noic。某些特殊字符某些特殊字符(/&!.*?)對查找過程有特殊意義,對查找過程有特殊意義,因此如果這些字符出現(xiàn)在查找串中必須進行轉(zhuǎn)意。因此如果這些字符出現(xiàn)在查找串中必須進行轉(zhuǎn)意。為轉(zhuǎn)意一個特殊字符,需要在該字符前面加一個反為轉(zhuǎn)意一個特殊字符,需要在該字符前面加一個反斜杠斜杠()。例如,要查找字符串。例如,要查找字符串a(chǎn)n
16、ything?,則鍵入則鍵入/anything?再按回車鍵。再按回車鍵。2. 精確查找字符串精確查找字符串在在vi中可以通過在字符串中加入如下特殊字符,從而中可以通過在字符串中加入如下特殊字符,從而使得查找更加精確。使得查找更加精確。匹配行首,字符串要以匹配行首,字符串要以開頭開頭匹配行尾,字符串要以結(jié)束匹配行尾,字符串要以結(jié)束匹配詞首,字符串的串首鍵入匹配詞首,字符串的串首鍵入匹配任意字符,字符串的要匹配的位置鍵入一個點匹配任意字符,字符串的要匹配的位置鍵入一個點(.)例如,例如,要查找一個以要查找一個以search為行首的行,則鍵入為行首的行,則鍵入/search ,要查找一個以要查找一個
17、以search為行尾的行,則鍵入為行尾的行,則鍵入/search。3. 替換一個字符串替換一個字符串替換字符串是以查找為基礎(chǔ),所有用于查找的特殊替換字符串是以查找為基礎(chǔ),所有用于查找的特殊匹配字符都可以用于查找和替換。替換時要指定替匹配字符都可以用于查找和替換。替換時要指定替換的范圍換的范圍(1,n),1和和n指行號,指行號,n為時指最后一行。為時指最后一行。s是替換命令,是替換命令,g代表全程替換。例如,代表全程替換。例如,:l,s/patternl/pattern2/g將行將行l(wèi)至結(jié)尾的文字,至結(jié)尾的文字,patternl的字符串改為的字符串改為pattern2的字符串,如無的字符串,如無
18、g則則僅更換每一行所匹配的第一個字符串,如有僅更換每一行所匹配的第一個字符串,如有g(shù)則將則將每一個字符串均做更換。每一個字符串均做更換。8.5 編輯多個文件編輯多個文件1. 將一個文件插入另一個文件中將一個文件插入另一個文件中將另一個文件將另一個文件filename插入當(dāng)前文件的插入當(dāng)前文件的line#行位置。行位置。命令格式,命令格式,:line# r filename例如,將文件例如,將文件file1插入到當(dāng)前文件的當(dāng)前光標(biāo)位置,插入到當(dāng)前文件的當(dāng)前光標(biāo)位置,鍵入,鍵入,:r file12. 編輯一系列文件編輯一系列文件要想編輯多個文件,需要在要想編輯多個文件,需要在vi命令之后列多個文件名,命令之后列多個文件名,中間用空格分開。鍵入中間用空格分開。鍵入:n進入下一個文件。要想跳進入下一個文件。要想跳轉(zhuǎn)到下一個文件,而不保存對當(dāng)前文件所做的修改,轉(zhuǎn)到下一個文件,而不保存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南科技大學(xué)《機械制造裝備設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 高二學(xué)生健康教育-學(xué)校醫(yī)生
- 河北地質(zhì)大學(xué)《線性代數(shù)(理)》2022-2023學(xué)年第一學(xué)期期末試卷
- 法律行業(yè)信息安全之道-解析與應(yīng)對安全風(fēng)險的策略
- 河北地質(zhì)大學(xué)《跨國經(jīng)營與管理》2022-2023學(xué)年第一學(xué)期期末試卷
- 工廠電力消缺整改合同
- 禁出文物(042)大秦景教流行中國碑
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-28-02-05 工業(yè)廢氣治理工 人社廳發(fā)2019101號
- 非絕緣非隔熱非隔音非紡織用玻璃纖維項目運營指導(dǎo)方案
- 鋸臺家具市場發(fā)展前景分析及供需格局研究預(yù)測報告
- 正常胃鏡報告
- 正確開具放射科影像檢查單課件
- 《企業(yè)VI設(shè)計》課件
- 中職班主任培訓(xùn)課件
- 優(yōu)生優(yōu)育指導(dǎo)工作
- 預(yù)防母嬰傳播
- 水泥的營銷方案和策略
- 《實名認證》課件
- 健康關(guān)愛女性知識講座
- 課地球公轉(zhuǎn)與四季變化
- 公司業(yè)績提成方案
評論
0/150
提交評論