第04章_Vim編輯器_第1頁(yè)
第04章_Vim編輯器_第2頁(yè)
第04章_Vim編輯器_第3頁(yè)
第04章_Vim編輯器_第4頁(yè)
第04章_Vim編輯器_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第四章Vim編輯器,計(jì)算機(jī)學(xué)院王書芹,.,2,本章學(xué)習(xí)目標(biāo),熟悉Vim編輯器的工作模式熟悉Vim命令模式和末行模式的命令熟悉Vim編輯器的選項(xiàng)設(shè)置,.,3,目錄,4.1Vim編輯器簡(jiǎn)介4.2Vim編輯器的主界面4.3末行模式命令4.4命令模式命令4.5Vim操作技巧4.6范例4.7小結(jié),.,4,4.1Vim編輯器簡(jiǎn)介,4.1.0gedit圖形化文本編輯器4.1.1Vim編輯器概述4.1.2Vim編輯器的工作模式返回本章目錄,.,5,4.1Vim編輯器簡(jiǎn)介,4.1.0gedit圖形化文本編輯器點(diǎn)擊“應(yīng)用程序”“附件”“文本編輯器”。在shell提示下鍵入gedit來(lái)啟動(dòng)gedit。gedit只能在圖形化桌面環(huán)境中運(yùn)行。,.,6,4.1Vim編輯器簡(jiǎn)介,4.1.1Vim編輯器概述用戶在使用計(jì)算機(jī)的時(shí)候,往往需要建立自己的文件,無(wú)論是一般的文本文件、數(shù)據(jù)文件,還是編寫的源程序文件,這些工作都離不開(kāi)編輯器。Linux系統(tǒng)提供了一個(gè)完整的編輯器家族系列,可分為兩大類:行編輯器(Ed、Ex)全屏幕編輯器(vi、Emacs(發(fā)音為EE-maks),.,7,4.1Vim編輯器簡(jiǎn)介,vi是Linux系統(tǒng)的第一個(gè)全屏幕交互式編輯程序,它從誕生至今一直得到廣大用戶的青睞,歷經(jīng)數(shù)十年仍然是人們主要使用的文本編輯工具,足見(jiàn)其生命力之強(qiáng),而強(qiáng)大的生命力是其強(qiáng)大的功能帶來(lái)的。,.,8,4.1Vim編輯器簡(jiǎn)介,vi是“visualinterface”的簡(jiǎn)稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對(duì)其進(jìn)行定制,這是其他編輯程序所沒(méi)有的。vi不是一個(gè)排版程序,它不象Word或WPS那樣可以對(duì)字體、格式、段落等其他屬性進(jìn)行編排,它只是一個(gè)文本編輯程序。,.,9,4.1Vim編輯器簡(jiǎn)介,4.1.2Vim編輯器的工作模式vi沒(méi)有菜單,只有命令,且命令繁多。vi有三種基本工作模式:命令模式(CommandMode)編輯模式(InsertMode)末行模式(LastLineMode),P107,.,10,4.1Vim編輯器簡(jiǎn)介,命令模式任何時(shí)候,不管用戶處于何種模式,只要按一下鍵,即可使vi進(jìn)入命令模式;進(jìn)入vi編輯器時(shí),默認(rèn)處于該模式下。,.,11,在該模式下,用戶可以輸入各種合法的vi命令,用于管理自己的文檔。此時(shí)從鍵盤上輸入的任何字符都被當(dāng)做編輯命令來(lái)解釋,若輸入的字符是合法的vi命令,則vi在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不在屏幕上顯示出來(lái)。若輸入的字符不是vi的合法命令,vi會(huì)響鈴報(bào)警。,4.1Vim編輯器簡(jiǎn)介,.,12,4.1Vim編輯器簡(jiǎn)介,編輯模式在命令模式下輸入插入命令i打開(kāi)命令o取代命令r都可以進(jìn)入編輯模式。,附加命令a修改命令c替換命令s,.,13,在該模式下,用戶輸入的任何字符都被vi當(dāng)做文件內(nèi)容保存起來(lái),并將其顯示在屏幕上。在文本輸入過(guò)程中,若想回到命令模式下,按鍵即可。,4.1Vim編輯器簡(jiǎn)介,.,14,4.1Vim編輯器簡(jiǎn)介,末行模式在vi中,命令通常是單個(gè)鍵,如i。在命令模式下,用戶按“:”鍵即可進(jìn)入末行模式下,此時(shí)vi會(huì)在屏幕的最后一行顯示一個(gè)“:”作為末行模式的提示符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令執(zhí)行完后,vi自動(dòng)回到命令模式。,.,15,可按鍵,或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使vi回到命令模式下。,4.1Vim編輯器簡(jiǎn)介,.,16,4.1Vim編輯器簡(jiǎn)介,Vi編輯器的三種工作模式之間的轉(zhuǎn)換如下:注意:編輯模式和末行模式不能直接切換,必須通過(guò)中間命令模式。,P108,.,17,4.2Vim編輯器的主界面,4.2.lvim編輯器的啟動(dòng)4.2.23種模式的界面返回本章目錄,.,18,4.2Vim編輯器的主界面,4.2.lvim編輯器的啟動(dòng)1)vi的啟動(dòng)vivifile1vi+file1定位在最后一行vifile1file2file3編輯多個(gè)文件,通過(guò)“:n文件名”切換2)vi的退出(即先切換到末行模式),.,19,4.2Vim編輯器的主界面,Vim主界面(命令模式),P108,.,20,4.2Vim編輯器的主界面,4.2.23種模式的界面,Vim命令模式,.,21,4.2Vim編輯器的主界面,Vim末行模式,.,22,4.2Vim編輯器的主界面,Vim編輯模式,.,23,4.3末行模式命令,1.退出命令2.顯示和取消行號(hào)3.行號(hào)與文件4.字符串搜索5.正文替換6.刪除正文7.恢復(fù)文件返回本章目錄使用前請(qǐng)先按ESC鍵確定在命令模式下按:或/或?叁鍵即可進(jìn)入末行模式,.,24,4.3末行模式命令,1.退出命令ZZ在命令模式下可以用ZZ命令退出vi編輯程序,該命令保存對(duì)正文所作的修改,覆蓋原始文件。:wq或:x先保存再退出vi:w或:wfilename保存/保存為filename名的文件:q退出(如果文件被修改會(huì)有提示):q!或:quit不保存退出vi:wq!強(qiáng)制保存,并退出,.,25,4.3末行模式命令,2.顯示和取消行號(hào):setnu顯示行號(hào):setnonu不顯示行號(hào),.,26,4.3末行模式命令,3.行號(hào)與文件編輯中的每一行正文都有行號(hào)::n將光標(biāo)移到第n行(跳行)命令模式下,可以規(guī)定命令操作的行號(hào)范圍。數(shù)值用來(lái)指定絕對(duì)行號(hào);字符“.”表示光標(biāo)所在行的行號(hào);字符“$”表示正文最后一行的行號(hào);簡(jiǎn)單的表達(dá)式,例如“.+5”表示當(dāng)前行往下的第5行。,.,27,:35將光標(biāo)移到第35行:35wfile將第35行寫入file文件:3,5wfile將第3行至第5行寫入file文件:1,.wfile將第1行至當(dāng)前行寫入file文件:.,$wfile將當(dāng)前行至最后一行寫入file文件:.,.+5wfile從當(dāng)前行開(kāi)始將6行內(nèi)容寫入file文件:1,$wfile將所有內(nèi)容寫入file文件,相當(dāng)于:wfile,4.3末行模式命令,.,28,4.3末行模式命令,在命令模式下,允許從文件中讀取正文,或?qū)⒄膶懭胛募?w將編輯的內(nèi)容寫入原文件,保存中間結(jié)果:wq將編輯的內(nèi)容寫入原文件并退出(相當(dāng)于ZZ):wfile將編輯的內(nèi)容寫入file文件,保持原文件內(nèi)容不變,.,29,:a,bwfile將第a行至第b行的內(nèi)容寫入file文件:rfile讀取file文件的內(nèi)容,插入當(dāng)前光標(biāo)所在行的后面:efile編輯新文件file代替原有內(nèi)容:ffile將當(dāng)前文件重命名為file:f打印當(dāng)前文件名稱和狀態(tài),如文件的行數(shù)、光標(biāo)所在的行號(hào)等,4.3末行模式命令,.,30,4.3末行模式命令,4.字符串搜索給出一字符串,可通過(guò)搜索該字符串到達(dá)指定行。:/str正向搜索,將光標(biāo)移到下一個(gè)包含字符串str的行,按n可往下繼續(xù)找:?str反向搜索,將光標(biāo)移到上一個(gè)包含字符串str的行按n可往前繼續(xù)找,.,31,:/str/wfile正向搜索,并將第一個(gè)包含字符串str的行寫入file文件:/str1/,/str2/wfile正向搜索,并將包含字符串str1的行至包含字符串str2的行寫入file文件,4.3末行模式命令,.,32,4.3末行模式命令,5.正文替換利用:s命令可以實(shí)現(xiàn)字符串的替換。:s/str1/str2/用字符串str2替換行中首次出現(xiàn)的字符串str1:s/str1/str2/g用字符串str2替換行中所有出現(xiàn)的字符串str1,.,33,:.,$s/str1/str2/g用字符串str2替換正文當(dāng)前行到末尾所有出現(xiàn)的字符串str1:1,$s/str1/str2/g用字符串str2替換正文中所有出現(xiàn)的字符串str1:g/str1/s/str2/g功能同上,4.3末行模式命令,.,34,從上可見(jiàn):g放在命令末尾,表示對(duì)搜索字符串的每次出現(xiàn)進(jìn)行替換;不加g,表示只對(duì)搜索字符串的首次出現(xiàn)進(jìn)行替換;g放在命令開(kāi)頭,表示對(duì)正文中所有包含搜索字符串的行進(jìn)行替換操作。,4.3末行模式命令,.,35,4.3末行模式命令,6.刪除正文在命令模式下,同樣可以刪除正文中的內(nèi)容。例如::d刪除光標(biāo)所在行:3d刪除3行:.,$d刪除當(dāng)前行至正文的末尾:/str1/,/str2/d刪除從字符串str1到str2的所有行,.,36,7.恢復(fù)文件vi在編輯某個(gè)文件時(shí),會(huì)另外生成一個(gè)臨時(shí)文件,這個(gè)文件的名稱通常以.開(kāi)頭,并以.swp結(jié)尾。vi在正常退出時(shí),該文件被刪除,若意外退出,而沒(méi)有保存文件的最新修改內(nèi)容,則可以使用恢復(fù)命令::recover恢復(fù)文件也可以在啟動(dòng)vi時(shí)利用-r選項(xiàng),4.3末行模式命令,.,37,4.4命令模式命令,1.進(jìn)入插入模式2.移動(dòng)光標(biāo)3.刪除4.更改,.,38,5.取代6.復(fù)制和粘貼7.撤銷8.重復(fù)上一個(gè)命令返回本章目錄,4.4命令模式命令,.,39,4.4命令模式命令,1.進(jìn)入插入模式i光標(biāo)前插入在光標(biāo)左側(cè)輸入正文I在光標(biāo)所在行的開(kāi)頭輸入正文a光標(biāo)后插入在光標(biāo)右側(cè)輸入正文A在光標(biāo)所在行的末尾輸入正文o在光標(biāo)所在行的下一行增添新行O在光標(biāo)所在行的上一行增添新行,.,40,4.4命令模式命令,2.移動(dòng)光標(biāo)hjkl左、下、上、右Ctrl+b在文件中向上移動(dòng)一頁(yè)(相當(dāng)于PageUp鍵)Ctrl+f在文件中向下移動(dòng)一頁(yè)(相當(dāng)于PageDown鍵)G移到文件最后H將光標(biāo)移到屏幕的最上行(Highest)nH將光標(biāo)移到屏幕的第n行M將光標(biāo)移到屏幕的中間(Middle),.,41,L將光標(biāo)移到屏幕的最下行(Lowest)nL將光標(biāo)移到屏幕的倒數(shù)第n行w在指定行內(nèi)右移光標(biāo),到下一個(gè)字的開(kāi)頭e在指定行內(nèi)右移光標(biāo),到一個(gè)字的末尾b在指定行內(nèi)左移光標(biāo),到前一個(gè)字的開(kāi)頭0數(shù)字0,左移光標(biāo),到本行的開(kāi)頭$右移光標(biāo),到本行的末尾移動(dòng)光標(biāo),到本行的第一個(gè)非空字符,4.4命令模式命令,.,42,4.4命令模式命令,3.刪除x刪除光標(biāo)所指向的當(dāng)前字符nx刪除光標(biāo)所指向的前n個(gè)字符:1,#d刪除行1至行#的文字X刪除所在前面一個(gè)字符D刪除至行尾,.,43,dw刪除光標(biāo)右側(cè)的字ndw刪除光標(biāo)右側(cè)的n個(gè)字db刪除光標(biāo)左側(cè)的字ndb刪除光標(biāo)左側(cè)的n個(gè)字dd刪除光標(biāo)所在行ndd刪除n行內(nèi)容,4.4命令模式命令,.,44,4.4命令模式命令,4.更改(先刪除后修改,修改內(nèi)容需再輸入)cw更改光標(biāo)處之字到此一單詞之字尾處c#w例,c3w表更改3個(gè)單詞cc修改行,.,45,5.取代r取代光標(biāo)處之字符R取代字符直到按ESC為止,4.4命令模式命令,.,46,4.4命令模式命令,6.復(fù)制和粘貼yw拷貝光標(biāo)處之字到字尾至緩沖區(qū)yy拷貝光標(biāo)所在之行至緩沖區(qū)#yy5yy,拷貝光標(biāo)所在之處以下5行至緩沖區(qū)P把緩沖區(qū)之資料貼在所在行的后p把緩沖區(qū)之資料貼在所在行的前,.,47,7.撤銷uundo,復(fù)原至上一動(dòng)作8.重復(fù)上一個(gè)命令.,4.4命令模式命令,.,48,4.5Vim操作技巧,返回本章目錄1.多行注釋(給多行腳本作注釋)方法一:在要注釋的第一行插入#,然后用j命令移動(dòng)到下一要注釋的行,重復(fù)上述操作。方法二::1,$s/#/g在每一行的行首添加一個(gè)#號(hào):1,$s/$/din/g在每一行的行尾添加一個(gè)din字符,P111,.,49,4.5Vim操作技巧,2.替換字符串操作(同前面“正文替換”):s/str1/str2/用字符串str2替換行中首次出現(xiàn)的字符串str1:s/str1/str2/g用字符串str2替換行中所有出現(xiàn)的字符串str1:.,$s/str1/str2/g用字符串str2替換正文當(dāng)前行到末尾所有出現(xiàn)的字符串str1,P111,.,50,:1,$s/str1/str2/g用字符串str2替換正文中所有出現(xiàn)的字符串str1:g/str1/s/str2/g功能同上從上可見(jiàn):g放在命令末尾,表示對(duì)搜索字符串的每次出現(xiàn)進(jìn)行替換;不加g,表示只對(duì)搜索字符串的首次出現(xiàn)進(jìn)行替換;g放在命令開(kāi)頭,表示對(duì)正文中所有包含搜索字符串的行進(jìn)行替換操作。,4.5Vim操作技巧,.,51,4.5Vim操作技巧,3.保存指定范圍的字符到文件中(同前面“行號(hào)與文件”):a,bwfile將第a行至第b行的內(nèi)容寫入file文件4.將Shell命令執(zhí)行完成的結(jié)果插入到指定行:100!cat/etc/hosts將文件內(nèi)容插入到當(dāng)前文件第100行,P112,.,52,5.替換文件中的路徑:%s#/usr/bin#/bin#g把文件中所有路徑/usr/bin換成/bin:%s/usr/bin/bin/g在/前用符號(hào)指出/是真的單個(gè)字符/,.,53,4.5Vim操作技巧,6.同時(shí)編輯多個(gè)文件,并在多個(gè)文件中復(fù)制、剪貼文本vifile1file2file3file4同時(shí)打開(kāi)四個(gè)文件yy在文件file1的光標(biāo)所在處拷貝所在行:nfile3切換到file3(n=next)p在文件file3的光標(biāo)所在處粘貼所拷貝的行:nfile1切換回文件file1,P112,.,54,4.5Vim操作技巧,7.在一個(gè)新文件中讀/etc/passwd中的內(nèi)容,取出用戶名

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論