第三章vi編輯器_第1頁
第三章vi編輯器_第2頁
第三章vi編輯器_第3頁
第三章vi編輯器_第4頁
第三章vi編輯器_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第三章VI文本編輯器李威liweizhisjb@163.comLinux編輯器概述文本編輯器與字處理程序文本編輯器只處理ASCII碼文件字處理程序進行復(fù)雜的文字編輯工作文本編輯器類型行編輯器全屏幕編輯器流行的文本編輯器

vim、gedit、emacs、pico、nano、joe、jed…VI啟動#VI

在系統(tǒng)提示字符(如$、#)下敲入vi<檔案名稱>,vi可以自動幫你載入所要編輯的文件或是開啟一個新文件(如果該文件不存在或缺少文件名)進入vi后螢?zāi)蛔蠓綍霈F(xiàn)波浪符號,凡是列首有該符號就代表此列目前是空的。3vi工作方式vi編輯器有三種方式:命令方式、輸入方式和ex轉(zhuǎn)義方式。☆命令方式當(dāng)進入vi編輯器時,就處于vi的命令方式。此時,從鍵盤上輸入的任何字符都被作為編輯命令來解釋。☆輸入方式在輸入方式下,從鍵盤上輸入的所有字符都被插入正在編輯的緩沖區(qū)中,被當(dāng)作該文件的正文,進入輸入方式后,輸入的可見字符都在屏幕上顯示出來,編輯命令不再起作用僅作為普通字符出現(xiàn)。☆

ex命令方式在vi中使用ex轉(zhuǎn)義方式,需要輸入一個冒號,冒號作為ex命令提示符出現(xiàn)在狀態(tài)行(通常在屏幕最下一行)。45退出vi:w將文章存入指定的文件名filename:wq保存離開:q不保存離開,如果文檔已經(jīng)編輯并未保存,將會提示保存。:q!強制離開:!代表強制。例如:w!:ZZ連按2次Z鍵,可將當(dāng)前正在編輯的文件保存并結(jié)束vi。(注:無文件名不可用)6文本輸入插入命令i在光標(biāo)前插入內(nèi)容,光標(biāo)后的內(nèi)容相應(yīng)向右移動I在光標(biāo)所在行的行首插入新增文本,行首是本行的第一個非空白字符附加命令a在光標(biāo)后插入內(nèi)容A在光標(biāo)所在行的行尾添加文本,當(dāng)輸入命令A(yù)時光標(biāo)自動移到該行的行尾打開命令o在光標(biāo)所在行的下面新開辟一行,插入內(nèi)容O在光標(biāo)所在行的上面新開辟一行,插入內(nèi)容7光標(biāo)移動☆輸入方式下光標(biāo)移動Backspace鍵將光標(biāo)從當(dāng)前行新插入的字符回退一個字符Ctrl+U鍵將光標(biāo)回退到剛插入字符串的第一個字符,并重新開始插入Ctrl+W鍵將光標(biāo)移到最后插入單詞的首字符Ctrl+T鍵在當(dāng)前行的開頭插入縮進所對應(yīng)的空格四個方向鍵可以在輸入方式下移動光標(biāo)8光標(biāo)移動☆命令方式下光標(biāo)移動向右移動一個字符l鍵、Space鍵、右向鍵都可向右移動一個字符,如想向右移動n個字符,則nl、n+Space例:6l表示右移6個字符;2+Space向右移動2個字符向左移動一個字符h鍵、Backspace鍵、左向鍵可向左移動一個字符,如想向左移動n個字符,則nh例:5h向左移動5個字符移到下一行+、Enter鍵、j鍵、Ctrl+N、下向鍵,前兩個光標(biāo)移到下一行的開頭;后面三個下移后光標(biāo)所在列不變;例:3+、3Enter、3j、3Ctrl+N、3↓表示下移3行移到上一行-、k鍵、Ctrl+p、上向鍵都表示上移一行;第一個把光標(biāo)移到上行的開頭,其余三個保持光標(biāo)在同一行上。例:3-、3k都表示光標(biāo)上移3行9光標(biāo)移動☆命令方式下光標(biāo)移動移至行首^鍵、0鍵都表示把光標(biāo)移到當(dāng)前行的開頭;0鍵把光標(biāo)移到當(dāng)前行的第一個字符,不管它是否為空白符;^鍵把光標(biāo)移到當(dāng)前行的第一個非空白字符移至行尾$移至當(dāng)前行的行尾,如果是n$表示光標(biāo)移到下面n-1行的行尾移至指定行[行號]G將光標(biāo)移至指定行的開頭,行號缺省則移到文件的最后一行的開頭移至指定列[列號]|將光標(biāo)移到當(dāng)前行指定列上,如果列號缺省則移到當(dāng)前行的第一列上按詞前移w、W表示將光標(biāo)下移一個詞的開頭;w搜索的詞定義為以標(biāo)點符號或空白符分開的字母數(shù)字串;W搜索的詞定義為非空白字符串按詞后移b、B將光標(biāo)后退到前一詞的開頭b、B對搜索詞的定義和w、W一致。如果光標(biāo)已在一個詞中則移至該次的開頭10光標(biāo)移動☆命令方式下光標(biāo)移動移至詞尾e、E將光標(biāo)移至詞尾,對搜索詞的定義和w、W一致。如果光標(biāo)在一個詞中則移至該詞的末尾按句移動(、)將光標(biāo)移至上一個和下一個句子的開頭。句子定義為以句點(.)、問號(?)、或感嘆號(!)結(jié)尾、后隨兩個空格或一個換行的字符序列。句子在第一個非空白字符開始在屏幕上移動[位移]H移至屏幕的左上角;nH表示光標(biāo)移到距屏幕頂部(n-1)行的行首[位移]M移至屏幕中間行的開頭;[位移]L移至屏幕的最低行,當(dāng)顯示內(nèi)容不足一屏?xí)r光標(biāo)則停留在最后一行;注意:dH表示刪除從當(dāng)前行至所顯示屏幕頂行的全部行;dM表示刪除從當(dāng)前行至命令M所指定行之間的所有行dL表示刪除從當(dāng)前行至屏幕底行之間的所有行11文本刪除x刪除光標(biāo)所在的字符,nx表示向右刪除n個字符;XX刪除光標(biāo)前面的那個字符,nX表示向左刪除n個字符;dd刪除光標(biāo)所在的整行D從光標(biāo)位置開始刪除到行尾d與光標(biāo)移動命令組合從光標(biāo)位置開始刪除到由光標(biāo)移動限定的文本對象的末尾。12文本刪除

例:d0從光標(biāo)位置刪至行首d3l從光標(biāo)位置向右刪3個字符d$從光標(biāo)位置刪至行尾,與D相同d5G從光標(biāo)所在行至第5行刪除dw刪除從光標(biāo)位置(包括該位)至該詞末尾(包括詞尾空白符)的所有字符d3B從光標(biāo)位置(不包括該位)反向刪除3個詞(光標(biāo)所在詞也算在內(nèi))dM刪除光標(biāo)所在行至屏幕中間行的所有行13文本編輯復(fù)原命令u取消之前剛輸入的一條命令的作用U把當(dāng)前行恢復(fù)成它被編輯之前的狀態(tài),不管對它編輯了多少次重復(fù)命令園點(.)用來重復(fù)實現(xiàn)最新一次使用的插入或刪除命令14修改命令c命令、C和cc的功能都是修改文本對象,并用新輸入的文本代替老的文本。輸入修改命令后就進入輸入方式。另這里用$符號標(biāo)記同一行中修改內(nèi)容的范圍。修改命令cc后面緊隨光標(biāo)移動命令,之后是輸入新文本,Esc鍵C修改從光標(biāo)位置到該行末尾的文本cc將光標(biāo)所在行的全部內(nèi)容都由新輸入的內(nèi)容代替15修改命令練習(xí):請動手練習(xí)給出下列命令實現(xiàn)的功能cW、c$、c6G

、C16取代命令取代命令r用隨后輸入的單個字符取代光標(biāo)所在的字符。或在r前面給出一個數(shù)字,表示在光標(biāo)位開始向右共有n個字符分別被新字符所代替R用隨后輸入的文本取代光標(biāo)位及其右面的若干字符,每輸入一個字符就替代原有的一個字符,如果新輸入的字符超過原有對應(yīng)的字符數(shù),則多出的部分就附加在后面。另如果R前面加數(shù)字n代表新輸入的正文重復(fù)出現(xiàn)n次但是被覆蓋的字符數(shù)不變;即使新輸入的文本占多行時也只有光標(biāo)所在行的對應(yīng)字符被覆蓋(新輸入的文本字符個數(shù)計算不包括換行和Esc鍵但包含空格)

17取代命令練習(xí):請動手練習(xí)給出下列命令實現(xiàn)的功能3rA、3RA18替換命令r命令和s命令的區(qū)別:r命令僅完成置換;s命令在完成置換后,工作模式從命令方式轉(zhuǎn)換成輸入方式,因此r=s+Esc;替換命令s用隨后輸入的正文替換光標(biāo)所在的字符;ns表示光標(biāo)所在字符以及其后的(n-1)個字符被新輸入的字符序列替換S命令用新輸入的文本替代當(dāng)前行;nS表示當(dāng)前行和下面的(n-1)行19文本編輯文本編輯命令文本行合并命令J用來將光標(biāo)所在行和下面一行合并成一行;nJ表示把當(dāng)前行和后面的(n-1)行進行合并文本行移動命令<、<<將限定正文行向左移動8個空格,移動正文行的范圍由光標(biāo)所在行和隨后輸入的光標(biāo)移動命令所限定>、>>使用方式和<、<<相同,只是方向相反20屏幕命令屏幕命令滾屏

命令Ctrl+U屏幕向上滾動半個窗口Ctrl+D屏幕下滾動半個窗口分頁

命令Ctrl+F向前將屏幕分頁Ctrl+B向后將屏幕分頁如果在Ctrl前鍵入一個數(shù)字n,則屏幕相應(yīng)滾過n行,以后在用Ctrl+U和Ctrl+D命令也相應(yīng)滾過同樣的行數(shù)。在Ctrl前鍵入一個數(shù)字n表示移動的頁數(shù)。21屏幕命令屏幕命令編輯一個文件vi+行號文件名表示從表示從指定行進入vi,將所指定行作為屏幕中間行出現(xiàn),光標(biāo)停在行首vi+/詞文件名表示從某一指定詞進入vi,首先在文件中找出指定詞的第一次出現(xiàn),以該行作為屏幕的中間行,光標(biāo)停在該行行首編輯多個文件vi文件1文件2同時調(diào)入多個文件,依次對它們進行編輯22屏幕命令屏幕調(diào)零命令[行號]z[行數(shù)]按Enter鍵表示指定行作為首行顯示在屏幕頂端并顯示指定的行數(shù)[行號]z[行數(shù)].表示指定行作為屏幕的中間行顯示在屏幕中間并顯示指定的行數(shù)[行號]z[行數(shù)]-表示指定行作為底部行顯示在屏幕的底部并顯示指定的行數(shù)23屏幕命令☆

例:10z+Enter將第10行作為顯示的首行;10z.將第10行作為顯示屏幕的中間行,顯示一行;10z-將第10行作為顯示屏幕的底行,顯示一行;10z5-將第10行作為顯示屏幕的底行,顯示5行;24字符串檢索字符串檢索命令/模式+Enter鍵系統(tǒng)從光標(biāo)所在行開始向前查找這個模式,找到后停留在該模式的第一個字符上,否則在狀態(tài)行顯示“Patternnotfound”/模式/-n+Enter鍵從光標(biāo)所在行向前查找指定模式,光標(biāo)停留在匹配行前n行的行首,即行號=匹配行號-n/模式/+n+Enter鍵從光標(biāo)所在行向前查找指定模式,光標(biāo)停留在匹配行后n行的行首,即行號=匹配行號+n/模式/-+Enter鍵從光標(biāo)所在行向前查找指定模式,光標(biāo)停留在匹配行前一行的行首/模式/++Enter鍵從光標(biāo)所在行向前查找指定模式,光標(biāo)停留在匹配行下一行的行首25字符串檢索字符串檢索命令?模式+Enter鍵從光標(biāo)所在行向后查找指定模式?模式?-n+Enter鍵從光標(biāo)所在行向后查找指定模式,光標(biāo)停留在指定行前n行的行首,即行號=匹配行號-n?模式?+n+Enter鍵從光標(biāo)所在行向后查找指定模式,光標(biāo)停留在匹配行后n行的行首,即行號=匹配行號+n?模式?-+Enter鍵從光標(biāo)所在行向后查找指定模式,光標(biāo)停留在匹配行前一行的行首?模式?++Enter鍵從光標(biāo)所在行向后查找指定模式,光標(biāo)停留在匹配行下一行的行首26字符串檢索例:/8+Enter/8/-2+Enter

?8?+2+Enter27字符檢索字符檢索命令n和Nn和N可以重復(fù)上一個檢索命令,n重復(fù)檢索方向和上一個檢索命令相同,N則相反f字符在當(dāng)前行上向前查找給定的字符F字符在當(dāng)前行上向后查找給定的字符;字符重復(fù)上一次查找動作,方向相同,字符重復(fù)上一次查找動作,方向相反28字符檢索☆

光標(biāo)靠近字符命令t和T移動光標(biāo)靠近字符,t光標(biāo)停在字符前一位;T光標(biāo)停在字符后一位;☆置標(biāo)記對文件中某些特定位置做上標(biāo)記便于以后進行快速查找、定位。置標(biāo)記命令的格式如下:m小寫字母29字符檢索☆

全局替換命令全局替換是一種組合命令,命令格式:g/模式/命令表全局替換命令g/s1/p將包含字符串s1的所有行顯示在屏幕上g/s1/s//s2/在包含字符串s1的所有行中用字符串s2替換g/s1/s//s2/g用字符串s2替換字符串s1,包括一行中s1出現(xiàn)多次g/s1/s//s2/gp用字符串s2替換字符串s1,包括一行中s1出現(xiàn)多次,并將修改過的行顯示在屏幕上g/s1/s//s2/gc確認(rèn)替換,s1每出現(xiàn)一次就詢問是否用s2替換30字符檢索全局替換命令g/s0/s/s1/s2/g對包含s0的所有行作標(biāo)記,然后對有標(biāo)記的行中的s1用s2進行替換g!/模式/命令表對所有不匹配給定模式的文本行執(zhí)行命令表g/^/s///g在文件的每一行的開頭插入給定的空格s/模式/替代文本/選項對每一行與給定模式匹配的第一個字符串用“替代文本”取代;選項中g(shù)對所有匹配的字符串都替換;c替換前提示用戶確認(rèn);31字符檢索例:1、g/this/p+Enter在屏幕上顯示所有包含字符串this的行2、g/IF/s//if/將當(dāng)前文件中所有的IF都替換成小寫的if(一行中包括多個IF時只替換第一個字符串)3、g/IF/s//if/g將當(dāng)前文件中所有的IF都替換成小寫的if(一行中包括多個IF時都被替換)4、g/print/s/n1/value/g對所有包含print的行,如果其中含有字符串n1則用value替換5、g!/print/s/n1/value/g將不包含print的所有行用value替換n132ex命令命令定位方法指定行號:20+Enter將光標(biāo)移到第20行的行首給定模式:/this/按Enter鍵從光標(biāo)所在行向前查給定模式this:?this?按Enter鍵從光標(biāo)所在行向后查找給定模式this.當(dāng)前行n編輯器緩沖區(qū)中的第n行,行號從1開始順序編排33ex命令命令定位方法$緩沖區(qū)中的最后一行%1,$從第1行至最后一行的縮寫+n或-n表示相對當(dāng)前行的位移.當(dāng)前行`x快速回到有標(biāo)記的正文行上34ex命令☆

e命令:可以編輯當(dāng)前文件時編輯另外的文件。當(dāng)前文件名由vi記住,用%表示;編輯緩沖區(qū)中的上一個文件名用#表示命令定位方法e文件名編輯由文件名指定的文件。這里編輯器會先檢查自上次執(zhí)行寫(w)命令緩沖區(qū)內(nèi)容是否被修改過,如果改過就發(fā)出警告信息并中止該命令;如未修改過就刪除緩沖區(qū)內(nèi)的全部內(nèi)容,把指定的文件當(dāng)作當(dāng)前文件e!文件名它不把修改過的當(dāng)前文件從緩沖區(qū)中寫出去,從而忽略在編輯新文件之前的全部修改e+n文件名從第n行開始編輯指定的文件35ex命令☆

w命令:把編輯緩沖區(qū)中全部或者部分內(nèi)容寫到當(dāng)前文件或者另外某個文件中。命令定位方法w文件名把做的修改寫回指定的文件,并顯示所寫的行數(shù)和字符數(shù)w>>文件名把緩沖區(qū)內(nèi)容附加到文件的末尾w!文件名跳過通常寫命令對文件的檢查,把緩沖區(qū)的內(nèi)容寫到系統(tǒng)允許的任何文件上w!命令將指定的各行寫入指定命令中36ex命令☆

r命令:把文本讀入編輯緩沖區(qū)的任意指定位置,讀入文本必須至少一行長。命令定位方法r文件名將指定的文件副本讀入緩沖區(qū)中指定行之后r!命令將命令輸出讀到緩沖區(qū)指定行之后37ex命令☆

q命令:退出命令命令定位方法q退出vi。由于編輯器緩沖區(qū)的內(nèi)容不會自動保存因此此時vi會顯示警告信息,不會從vi中退出q!強制退出,不保留所作的修改wq文件名保存退出wq!文件名忽略執(zhí)行w命令之前所作的檢查。例如,用戶有個文件并沒有打開它的寫權(quán)限但是使用wq!就允許用戶用任何方式修改該文件x文件名如果文件做過修改且沒有寫出去則該命令是保存后退出,否則直接退出38文本移動☆

把文本從一個緩沖區(qū)放到編輯緩沖區(qū)中,語法如下:如不指定緩沖區(qū)則文本取自無名緩

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論