




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,計(jì)算機(jī)專業(yè)必修課Linux (計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)) 第四章 文本編輯器vi,2,第四章 Linux的文本編輯器vi,本章主要內(nèi)容: Vi簡(jiǎn)介 Vi的工作方式 進(jìn)入和退出vi Vi的編輯命令,3,Vi簡(jiǎn)介,vi是 visual interface 的簡(jiǎn)稱,是交互式的全屏幕編輯 程序. Vi的特點(diǎn): 文本編輯器(沒(méi)有排版功能,處理純文本字符) 全屏幕編輯(從行編輯發(fā)展過(guò)來(lái)) 命令模式,不提供菜單,與dos 提供的edit有很大的差異.,4,Vi的工作方式,三種方式:命令方式、輸入方式、末行方式 命令方式:用戶一進(jìn)入vi 就進(jìn)入了命令方式,在該模式中任何 鍵入的字符都被看成vi的命令,鍵入后立
2、即執(zhí)行。 輸入方式:當(dāng)用戶需要輸入文本時(shí),使用某個(gè)命令,進(jìn)入輸入方 式,才可開(kāi)始輸入文本。 末行方式:也稱ex模式,在命令方式中鍵入冒號(hào) :,就進(jìn)入了 末行方式,在末行方式中輸入ex中的命令,例如w(寫) 和回車,就可將編輯的內(nèi)容存入文件。,5,Vi的工作方式,三種工作方式之間轉(zhuǎn)換 (1)在操作系統(tǒng)提示符下鍵入vi ,就進(jìn)入了命令方式 (2)由命令方式進(jìn)入輸入方式,鍵入編輯命令,如插入命令i、添 加命令a、建立新行命令o等等。 (3)由命令方式進(jìn)入末行方式,只需鍵入冒號(hào)( :),每次只執(zhí) 行一條,執(zhí)行完畢立即回到命令方式 (4)不論在什么方式,只要鍵入【 ESC】鍵,就可回到命令方式。 (5)
3、輸入方式和末行方式之間不能直接切換,必須通過(guò)命令方式。 (6)在命令方式,用兩個(gè)ZZ(大寫),可以退出vi;在末行方式用q 或q!,還可以用wq。,6,Vi的工作方式,7,進(jìn)入和退出vi,進(jìn)入vi(兩種方法) vi filename 這是編輯一個(gè)新文件或編輯一個(gè)已經(jīng)存在的文件的方法 如果是新文件,系統(tǒng)會(huì)為你創(chuàng)建一個(gè)名為filename的文件 如果你需要對(duì)一個(gè)存在的文件進(jìn)行修改,系統(tǒng)會(huì)把文件的內(nèi)容讀入vi 使用的緩沖區(qū),供你進(jìn)行編輯,完成編輯后,用相關(guān)命令寫入原文件或?qū)懭肓硪粋€(gè)新的文件 vi 這是編輯一個(gè)新的文件的方法 在編輯完成后必須用相關(guān)命令寫入一個(gè)新的文件,否則一切編輯動(dòng)作都無(wú)效.,8,進(jìn)
4、入和退出vi,進(jìn)入vi后光標(biāo)停留在文件的第一行行首,如希望停留在其他行, 可用下面的命令: vi +n fillename (進(jìn)入vi 后當(dāng)前光標(biāo)位置為第n行) vi + filename (進(jìn)入vi后當(dāng)前光標(biāo)位置為文件尾) vi +/string filename (進(jìn)入vi后當(dāng)前光標(biāo)位置為字符串srting所在行的行首) 輸入一段文本 進(jìn)入vi 后,鍵入i(或a)命令,就可輸入文本了。文本輸入完畢,用【ESC】結(jié)束本次輸入模式,回退到命令方式.,9,進(jìn)入和退出vi,例: $ vi example.c “example.c”New file,10,進(jìn)入和退出vi,退出vi 退出vi 有三種情
5、形: (1)以原有的文件名保存已經(jīng)作過(guò)的編輯,退出vi 在末行方式下退出,用以下命令: :wq (等價(jià)于 :w及:q)或 :x 在命令模式下退出,用兩個(gè)大寫的 ZZ 即可 (2)以新的文件名保存,必須進(jìn)入末行方式,用以下命令: :w newfilename (保存到新文件) :q (退出) (3)不保存所作過(guò)的一切編輯動(dòng)作,在末行方式下退出vi: :q!,11,Vi的編輯命令,一、移動(dòng)光標(biāo)(在命令方式下) 1、行號(hào) vi 的工作是在文本緩沖區(qū)中做的,為了幫助用戶觀看,可為文本的行設(shè)置一個(gè)行號(hào),放在文本的左側(cè)(行首前) 可以用末行命令set 來(lái)設(shè)置和取消: :set number(:set nu
6、) :set nonumber (:set nonu) 2、移動(dòng)光標(biāo) 光標(biāo)可移動(dòng)的單位如下:,12,Vi的編輯命令,(1)字符: 漢字由二個(gè)ASCII字符寬度,移動(dòng)的單位是一個(gè)漢字,英文 或數(shù)字等是一個(gè)ASCII字符寬度 (2)行: 文本的一行,可用行號(hào)定位 (3)屏幕: 分成半個(gè)屏幕高或整個(gè)屏幕高(頁(yè)) (4)行首和行尾:文本行的行尾和行首 (5)字: 廣義字和狹義字 廣義字:由空格作為間隔符 狹義字:英文單詞、標(biāo)點(diǎn)符號(hào)及一些特殊字符均作為一個(gè)字 (6)句: 以逗號(hào)、句號(hào)、問(wèn)號(hào)、感嘆號(hào)結(jié)尾且后面有二個(gè)以上(含二 個(gè))空格或一個(gè)換行符的字符序列。 (7)段: 以一個(gè)空白行開(kāi)始和結(jié)束的字符序列,
7、13,Vi的編輯命令,按字符移動(dòng)的鍵: (1)四個(gè)帶箭頭的方向鍵:各自按方向移動(dòng)一個(gè)字符 (2)k、j、h、l:各自按上、下、左、右移動(dòng)一個(gè)字符 (3)【spacebar】 : 光標(biāo)右移一個(gè)字符 【backspace】 :光標(biāo)左移一個(gè)字符 【ctrl+n】 :光標(biāo)下移一個(gè)字符 【ctrl+p】 :光標(biāo)上移一個(gè)字符,h,j,k,l,14,Vi的編輯命令,按行來(lái)移動(dòng)光標(biāo): 【Home】: 光標(biāo)移動(dòng)到本行行首 0: 行首,: 第一個(gè)非空白字符 $或【End】: 光標(biāo)移動(dòng)到本行行尾 -: 光標(biāo)移動(dòng)到上一行的行首 Each time you start vi,you can edit a file. 跳
8、到指定的行 行號(hào)G 缺省為到文件的最后行 例:G表明移到第行,1G第一行,G最末行。,0,$,15,Vi的編輯命令,按字移動(dòng)光標(biāo)(小寫字母對(duì)狹義的字,大寫字母對(duì)廣義的字) w和W 將光標(biāo)移動(dòng)到下一個(gè)字的字首 e和E 將光標(biāo)移動(dòng)到下一個(gè)字的字尾 b和B 將光標(biāo)移動(dòng)到前一個(gè)字的字首 例:ach time you start vi b w 按句移動(dòng) ( : 將光標(biāo)移到上一個(gè)句子的開(kāi)頭 ) : 將光標(biāo)移到下一個(gè)句子的開(kāi)頭,16,Vi的編輯命令,按段移動(dòng): : 將光標(biāo)移到上一個(gè)段的開(kāi)頭 : 將光標(biāo)移到下一個(gè)段的開(kāi)頭 屏幕滾動(dòng) 【ctrl+u】: 將屏幕向文件頭方向翻滾半屏 【ctrl+d】: 將屏幕向文
9、件尾方向翻滾半屏 【ctrl+f】: 將屏幕向文件尾方向翻滾一整屏 【ctrl+b】: 將屏幕向文件頭方向翻滾一整屏,17,Vi的編輯命令,二、文本操作(在命令方式下) 1、文本的插入 輸入任意文本,都要將vi 的工作方式從命令方式切換到文本輸入方式. 如下命令進(jìn)入文本輸入方式 i 插入當(dāng)前字符前 - I 插入當(dāng)前行頭 - a 插入當(dāng)前字符后 - A 插入當(dāng)前行尾 - o 插入當(dāng)前行下一行 - O 插入當(dāng)前行上一行 -,當(dāng)前字符,18,Vi的編輯命令,2、文本的刪除 x: 刪除光標(biāo)處的字符 nx: 刪除光標(biāo)位置起的右n個(gè)字符 X : 刪除光標(biāo)前的字符 nX: 刪除光標(biāo)位置前的左n個(gè)字符 dd:
10、 刪除當(dāng)前行 ndd: 刪除當(dāng)前行起的n行 D或 d$: 刪除光標(biāo)起到行尾的內(nèi)容 d0: 刪除光標(biāo)前一個(gè)字符到行首的內(nèi)容 dw: 刪除一個(gè)單詞 ndw: 刪除n個(gè)單詞,19,Vi的編輯命令,3、恢復(fù)刪除 u、U命令和重復(fù)( .)命令 u: 取消上一次的編輯動(dòng)作(可多次) U: 取消在本行所有的編輯動(dòng)作 重復(fù)命令(.): 再一次執(zhí)行剛執(zhí)行過(guò)的命令 4、修改文本 c object: 改變光標(biāo)位置起到object位置的內(nèi)容. C 或c$: 改變光標(biāo)位置起到行尾的內(nèi)容. nC : 改變光標(biāo)位置起的n行內(nèi)容 cc: 改變當(dāng)前行的內(nèi)容. ncc : 改變當(dāng)前行起n行的內(nèi)容,20,Vi的編輯命令,5、文本替
11、換 文本替換是用新的文本替換原有的文本 命令:r 和 R rx: 用x字符替換光標(biāo)位置的字符 nrx: 用x字符替換光標(biāo)位置起的n個(gè)字符 R: 用跟隨其后的字符一對(duì)一地替換文本,結(jié)束后應(yīng)用 【ESC】鍵回到命令模式 nR: 表示R后面輸入的內(nèi)容重復(fù)n次,21,Vi的編輯命令,s 和S命令 s: 用跟隨在其后的字符串替換光標(biāo)位置的字符,結(jié)束后應(yīng)用 【ESC】鍵回到命令模式 ns: 用跟隨在其后的字符串替換光標(biāo)位置起的n個(gè)字符,結(jié)束 后應(yīng)用【ESC】鍵回到命令模式 S: 用跟隨在其后的字符串替換當(dāng)前行,結(jié)束后應(yīng)用【ESC】 鍵回到命令模式 nS: 用跟隨在其后的字符串替換當(dāng)前行起的n 行,結(jié)束后應(yīng)
12、 用【ESC】鍵回到命令模式,22,Vi的編輯命令,6、文本行移動(dòng) 實(shí)質(zhì)是先把要移動(dòng)的n行先刪除,然后粘貼到目的行,步驟如下: (1) 將光標(biāo)移到要移動(dòng)的n行首行 (2) ndd命令 (3) 將光標(biāo)移到目的行處 (4) 鍵入p,將被刪除的n行粘貼到當(dāng)前行. 使用末行命令: n1,n2 m k (將從n1行到n2行的文本移動(dòng)到k行處,其中m是移動(dòng) 命令),23,Vi的編輯命令,7、拷貝文本 命令方式: 第一步:拷貝 拷貝一行(從當(dāng)前行):yy 5yy;拷貝光標(biāo)所在字:yw 第二步:粘貼 將光標(biāo)移到目標(biāo)位置,按命令p。 末行方式:用co命令一步即可。 例:,co 20 /將到行拷貝到行下。 :a,
13、b co /將ab標(biāo)識(shí)行拷貝到當(dāng)前行下。,24,Vi的編輯命令,8、字符串的搜索與替換 搜索:命令方式下鍵入/鍵,在窗口底部顯示符號(hào)/,在光標(biāo)處鍵入待搜索字符 串,按回車從光標(biāo)當(dāng)前位置向文件尾搜索字符串。 命令方式下鍵入?鍵,從光標(biāo)當(dāng)前位置向前搜索字符串。 替換:末行方式下鍵入如下命令 :n1,n2 s/pattern1/pattern/options 其中n1和n2為兩個(gè)行號(hào),s是substitute的首字母,pattern1待替換串,pattern2為用于替換串。options 常用有p、g、c三項(xiàng)。p是將替換結(jié)果逐行顯示,是pattern1不論出現(xiàn)在行中何處都要替換,替換時(shí)要求用戶確認(rèn)。
14、,25,Vi的編輯命令,例:,$ s/int/void/gc 從第一行到最后一行搜索int用void替換。 9、執(zhí)行shell命令(末行方式下) 可在vi 中執(zhí)行shell 命令: :!command (不離開(kāi)vi執(zhí)行一條shell命令) :r!command (將command執(zhí)行的結(jié)果放到當(dāng)前行之后) 例:!date /在屏幕底端顯示當(dāng)前日期時(shí)間 例:r !date /將日期和時(shí)間寫入正編輯文件當(dāng)前行下一行,26,Vi的編輯命令,把左列的vi命令與右列的解釋相匹配: 1. x a. 替換當(dāng)前光標(biāo)所在的字符 2. dd b. 刪除當(dāng)前光標(biāo)所在的字符 3. / c. 保存文件,退出vi 4. q! d. 把輸入文本插入到當(dāng)前行的前面 5. I e. 把光標(biāo)移到當(dāng)前行的下一行 6. O(大寫) f. 從當(dāng)前光標(biāo)開(kāi)始刪除到行尾 7. d$ g. 從當(dāng)前行開(kāi)始向后搜索指定的字符串 8. wq h. 把輸入文本插入到當(dāng)前字符的后面 9. a i. 退出vi 編輯器,不保存文件 10. j j. 刪除當(dāng)前行,27,上機(jī)實(shí)驗(yàn),實(shí)驗(yàn)一:練習(xí)教材例題。P84-100 實(shí)驗(yàn)二: 編輯文本:1: abcd efgh ijkl mnop qrst uvw xyz 2: 5678 90123 456 7890 1234 編輯任務(wù): 1第1行后加1行; 2字符f 后加入123;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘭州外語(yǔ)職業(yè)學(xué)院《語(yǔ)言學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆石河子職業(yè)技術(shù)學(xué)院《運(yùn)動(dòng)處方》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊人民醫(yī)學(xué)高等??茖W(xué)校《材料專業(yè)英語(yǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 泰山學(xué)院《運(yùn)動(dòng)輔項(xiàng)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 腦梗取栓護(hù)理查房
- 無(wú)創(chuàng)溶斑培訓(xùn)大綱
- 2025合同履行爭(zhēng)議中的法律問(wèn)題
- 2025金融衍生品與配套人民幣借款合同書
- 物業(yè)管理?xiàng)l例培訓(xùn)
- 2025年普法知識(shí)競(jìng)賽題庫(kù)及答案(共70題)
- 2025年北京京能清潔能源電力股份有限公司招聘筆試參考題庫(kù)含答案解析
- 畢馬威-海南自貿(mào)港旅游零售白皮書2025版:韌性前行潛力無(wú)限
- 2025年上海市閔行區(qū)高三語(yǔ)文二模試卷及答案解析
- 2025年教師資格師德師風(fēng)建設(shè)試題及答案
- 期中測(cè)試卷(1-5單元)(試題)(含答案)-2024-2025學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)青島版
- 2025屆北京市順義區(qū)高三下學(xué)期一模英語(yǔ)試題(原卷版+解析版)
- 2025年形勢(shì)與政策-加快建設(shè)社會(huì)主義文化強(qiáng)國(guó)+第二講中國(guó)經(jīng)濟(jì)行穩(wěn)致遠(yuǎn)
- 人工智能技術(shù)與知識(shí)產(chǎn)權(quán)保護(hù)
- 國(guó)家安全教育大學(xué)生讀本教案第四章 堅(jiān)持以人民安全為宗旨
- 【MOOC】化工安全(下)-華東理工大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 新版高中物理必做實(shí)驗(yàn)?zāi)夸浖捌鞑?(電子版)
評(píng)論
0/150
提交評(píng)論