《第3章 文本編輯》由會員分享,可在線閱讀,更多相關(guān)《第3章 文本編輯(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第三章第三章 文本編輯文本編輯qq vi(visual interface)編輯器)編輯器是所有是所有是所有是所有Unix/LinuxUnix/Linux操作系統(tǒng)下標(biāo)準(zhǔn)的編輯操作系統(tǒng)下標(biāo)準(zhǔn)的編輯操作系統(tǒng)下標(biāo)準(zhǔn)的編輯操作系統(tǒng)下標(biāo)準(zhǔn)的編輯器器器器qq vim(vi improved)升級后的升級后的升級后的升級后的vivi,增強(qiáng)版本的,增強(qiáng)版本的,增強(qiáng)版本的,增強(qiáng)版本的vivi主要內(nèi)容主要內(nèi)容qq3.1 vi的工作方式的工作方式qq3.2 啟動啟動viqq3.3 文本輸入文本輸入qq3.4 退出退出viqq3.5 命令行模式的操作命令行模式的操作qq3.6 ex模式的操作模式的操作3.1 vi的工
2、作方式的工作方式qqvim編輯器有編輯器有3種狀態(tài):種狀態(tài):n n命令模式(命令模式(命令模式(命令模式(command modecommand mode)鍵入字符不會在屏幕上顯示,只會被作為命令解釋執(zhí)鍵入字符不會在屏幕上顯示,只會被作為命令解釋執(zhí)鍵入字符不會在屏幕上顯示,只會被作為命令解釋執(zhí)鍵入字符不會在屏幕上顯示,只會被作為命令解釋執(zhí)行。行。行。行??刂破聊还鈽?biāo)的移動,字符、字或行的刪除控制屏幕光標(biāo)的移動,字符、字或行的刪除控制屏幕光標(biāo)的移動,字符、字或行的刪除控制屏幕光標(biāo)的移動,字符、字或行的刪除n n輸入模式輸入模式輸入模式輸入模式 /插入模式(插入模式(插入模式(插入模式(inser
3、t modeinsert mode)編輯命令不再起作用,僅作為普通字母出現(xiàn)。編輯命令不再起作用,僅作為普通字母出現(xiàn)。編輯命令不再起作用,僅作為普通字母出現(xiàn)。編輯命令不再起作用,僅作為普通字母出現(xiàn)。n nexex轉(zhuǎn)義方式轉(zhuǎn)義方式轉(zhuǎn)義方式轉(zhuǎn)義方式 /底行模式(底行模式(底行模式(底行模式(last line modelast line mode)將文件保存或退出將文件保存或退出將文件保存或退出將文件保存或退出vivi,設(shè)置編輯環(huán)境,如:尋找字符串、列出行號等。設(shè)置編輯環(huán)境,如:尋找字符串、列出行號等。設(shè)置編輯環(huán)境,如:尋找字符串、列出行號等。設(shè)置編輯環(huán)境,如:尋找字符串、列出行號等。3.2 啟動啟
4、動viqq方法:方法:qq說明:說明:n n如果是新文件名,則創(chuàng)建文件;否則,打開文件如果是新文件名,則創(chuàng)建文件;否則,打開文件如果是新文件名,則創(chuàng)建文件;否則,打開文件如果是新文件名,則創(chuàng)建文件;否則,打開文件#vi#vim#vi myfirst#vim myfirst3.3 文本輸入文本輸入qq進(jìn)入文本輸入模式的方法:進(jìn)入文本輸入模式的方法:n n插入命令(插入命令(插入命令(插入命令(insertinsert):):):):i i 和和和和 I In n附加命令(附加命令(附加命令(附加命令(appendappend):):):):a a 和和和和 A An n打開命令(打開命令(打開命
5、令(打開命令(openopen):):):):o o 和和和和 OO命令命令鍵鍵功能功能i當(dāng)前光當(dāng)前光標(biāo)標(biāo)位置位置左左側(cè)側(cè)輸輸入入I行首行首輸輸入入a當(dāng)前光當(dāng)前光標(biāo)標(biāo)位置位置右右側(cè)側(cè)輸輸入入A行尾行尾輸輸入入o在光在光標(biāo)標(biāo)所在行所在行下一行下一行增添新的空白行,光增添新的空白行,光標(biāo)標(biāo)位于行首位于行首O 上一行上一行3.4 退出退出viqq方法:方法:n n為了保存文件,按為了保存文件,按為了保存文件,按為了保存文件,按EscEsc鍵,使鍵,使鍵,使鍵,使vivi處于命令模式。處于命令模式。處于命令模式。處于命令模式。n n然后輸入相應(yīng)的命令,如下表:然后輸入相應(yīng)的命令,如下表:然后輸入相應(yīng)的
6、命令,如下表:然后輸入相應(yīng)的命令,如下表:鍵鍵功能功能:wq保存并退出保存并退出vi,回到,回到shell狀狀態(tài)態(tài):x同上同上ZZ保存并退出(不加冒號)保存并退出(不加冒號):w保存,但不退出保存,但不退出:q退出(如果有未保存的修改,退出(如果有未保存的修改,則則不能退出)不能退出):q!強(qiáng)強(qiáng)制退出,制退出,不保存修改不保存修改3.5 命令行模式的操作命令行模式的操作qq3.5.1 移動光標(biāo)移動光標(biāo)qq3.5.2 文本復(fù)制文本復(fù)制 qq3.5.3 文本刪除文本刪除 qq3.5.4 文本修改文本修改qq3.5.5 搜索字符串搜索字符串3.5.1 移動光標(biāo)移動光標(biāo)qq移動光標(biāo)移動光標(biāo) 鍵鍵功能功
7、能h Backspace 光光標(biāo)標(biāo)左移左移一個字符一個字符l Space 右移右移一個字符一個字符j 下移下移一行一行k 上移上移+Enter光光標(biāo)標(biāo)移移動動到下一行的行首到下一行的行首3.5.1 移動光標(biāo)移動光標(biāo)qq移動光標(biāo)移動光標(biāo)鍵鍵功能功能 或或 0光標(biāo)移動到當(dāng)前光標(biāo)移動到當(dāng)前行首行首$光標(biāo)移動到當(dāng)前光標(biāo)移動到當(dāng)前行尾行尾w光標(biāo)光標(biāo)右移右移到下一個單詞的開頭(以非字母的符號分隔)到下一個單詞的開頭(以非字母的符號分隔)W同上同上 (以空白符分隔)(以空白符分隔)b光標(biāo)光標(biāo)左移左移到前一個到前一個單詞單詞的開頭(以非字母的符號分隔)的開頭(以非字母的符號分隔)B同上同上 (以空白符分隔)(
8、以空白符分隔)3.5.2 文本復(fù)制文本復(fù)制qq文本復(fù)制文本復(fù)制 鍵鍵功能功能yy復(fù)制光復(fù)制光標(biāo)標(biāo)所在的所在的行行yw復(fù)制光復(fù)制光標(biāo)標(biāo)所在位置到整個所在位置到整個單詞單詞的位置的位置nyy復(fù)制從光復(fù)制從光標(biāo)標(biāo)開始的開始的n行行nyw復(fù)制從光復(fù)制從光標(biāo)標(biāo)開始的開始的n個個詞詞y$復(fù)制當(dāng)前位置到行尾的文本復(fù)制當(dāng)前位置到行尾的文本 y0 y0 或或或或 y y 復(fù)制從光標(biāo)位置復(fù)制從光標(biāo)位置復(fù)制從光標(biāo)位置復(fù)制從光標(biāo)位置之前之前之前之前到當(dāng)前行首的文本到當(dāng)前行首的文本到當(dāng)前行首的文本到當(dāng)前行首的文本 p將復(fù)制的內(nèi)容將復(fù)制的內(nèi)容粘粘貼貼在光在光標(biāo)標(biāo)所在的位置所在的位置后后P將復(fù)制的內(nèi)容將復(fù)制的內(nèi)容粘粘貼貼在
9、光在光標(biāo)標(biāo)所在的位置所在的位置前前3.5.3 文本刪除文本刪除qq文本刪除文本刪除 鍵鍵功能功能x刪刪除除光光標(biāo)標(biāo)位置位置的一個字符的一個字符nx刪刪除光除光標(biāo)標(biāo)位置開始位置開始向右的向右的n個字符個字符X刪刪除除光光標(biāo)標(biāo)前面前面的一個字符的一個字符nX刪刪除光除光標(biāo)標(biāo)前面的前面的n個字符個字符dd刪刪除光除光標(biāo)標(biāo)所在所在行行ndd刪刪除光除光標(biāo)標(biāo)所在行開始向下的所在行開始向下的n行行D從光從光標(biāo)標(biāo)位置開始,位置開始,刪刪除到行尾除到行尾3.5.3 文本刪除文本刪除qq文本刪除文本刪除鍵鍵功能功能d$從光標(biāo)位置開始,刪除到從光標(biāo)位置開始,刪除到行尾行尾d從光標(biāo)位置開始,刪除到從光標(biāo)位置開始,刪
10、除到行首行首dw刪除光標(biāo)刪除光標(biāo)右側(cè)右側(cè)的一個單詞的一個單詞db刪除光標(biāo)刪除光標(biāo)左側(cè)左側(cè)的一個單詞的一個單詞3.5.4 文本修改文本修改qq文本替換文本替換 鍵鍵功能功能r替換光標(biāo)位置上的替換光標(biāo)位置上的1個字符個字符 nr替換從光標(biāo)位置開始的替換從光標(biāo)位置開始的n個字符個字符 R替替換換從光從光標(biāo)標(biāo)位置開始的位置開始的連續(xù)連續(xù)字符字符nR同上,當(dāng)按同上,當(dāng)按Esc鍵時,重復(fù)鍵時,重復(fù)n遍遍 u撤撤銷銷最近一次修改最近一次修改U撤撤銷銷所有修改所有修改.重復(fù)上一次的操作重復(fù)上一次的操作3.5.5 搜索字符串搜索字符串qq搜索字符串搜索字符串 鍵鍵功能功能/字符串字符串從當(dāng)前位置從當(dāng)前位置向后向
11、后搜索字符串搜索字符串?字符串?字符串從當(dāng)前位置從當(dāng)前位置向前向前搜索字符串搜索字符串n光光標(biāo)標(biāo)向后向后移到移到下下一個字符串一個字符串N光光標(biāo)標(biāo)向前向前將移到將移到上上一個字符串一個字符串3.5.6 vi在線幫助在線幫助qqhelp命令:命令:鍵鍵功能功能:help顯顯示示vi通用的幫助命令通用的幫助命令:help 命令名命令名可可獲獲得得該該命令的幫助命令的幫助3.6 ex模式的操作模式的操作 qq進(jìn)入進(jìn)入ex命令方式:命令方式:n n在命令方式下輸入在命令方式下輸入在命令方式下輸入在命令方式下輸入“:”,在冒號提示符后就可,在冒號提示符后就可,在冒號提示符后就可,在冒號提示符后就可以輸入
12、以輸入以輸入以輸入exex命令。命令。命令。命令。qq退出退出ex命令方式:命令方式:n nenterenter鍵鍵鍵鍵/del/del鍵鍵鍵鍵3.6.1 命令定位命令定位qq命令定位命令定位 命令命令功能功能:n光光標(biāo)標(biāo)移移動動到第到第n行行首行行首:+n光光標(biāo)標(biāo)下移下移n行行:-n光光標(biāo)標(biāo)上移上移n行行:.光光標(biāo)標(biāo)定位到定位到當(dāng)前行首當(dāng)前行首:$光光標(biāo)標(biāo)定位到定位到最后一行最后一行3.6.2 常用常用ex命令命令qqe命令(命令(edit)n n在編輯當(dāng)前文件時在編輯當(dāng)前文件時在編輯當(dāng)前文件時在編輯當(dāng)前文件時編輯另外的文件編輯另外的文件編輯另外的文件編輯另外的文件。e命令命令功能功能:e
13、文件名文件名開始開始編輯編輯文件名指定的文件文件名指定的文件:e!文件名文件名忽略當(dāng)前文件所作的修改,忽略當(dāng)前文件所作的修改,編輯編輯指定文件指定文件:e#Ctrl+返回到上一個返回到上一個編輯編輯文件文件3.6.2 常用常用ex命令命令qqw命令(命令(write)n n可把編輯緩沖區(qū)中全部或者部分內(nèi)容可把編輯緩沖區(qū)中全部或者部分內(nèi)容可把編輯緩沖區(qū)中全部或者部分內(nèi)容可把編輯緩沖區(qū)中全部或者部分內(nèi)容寫到指定文寫到指定文寫到指定文寫到指定文件件件件中。中。中。中。w命令命令功能功能:w 文件名文件名將當(dāng)前將當(dāng)前緩緩沖區(qū)內(nèi)容寫到指定文件中。沖區(qū)內(nèi)容寫到指定文件中。如果文件名不存在,如果文件名不存在
14、,則創(chuàng)則創(chuàng)建建該該文件;文件;如果文件名已存在,如果文件名已存在,則發(fā)則發(fā)出警告出警告:w!文件名文件名強(qiáng)強(qiáng)制覆蓋已有的文件制覆蓋已有的文件:w文件名文件名將當(dāng)前將當(dāng)前緩緩沖區(qū)的內(nèi)容沖區(qū)的內(nèi)容附加附加到指定文件末尾,到指定文件末尾,3.6.2 常用常用ex命令命令qqr命令(命令(read)n n把指定文本讀入編輯緩沖區(qū)的指定位置。把指定文本讀入編輯緩沖區(qū)的指定位置。把指定文本讀入編輯緩沖區(qū)的指定位置。把指定文本讀入編輯緩沖區(qū)的指定位置。r命令命令功能功能:r將當(dāng)前文件將當(dāng)前文件讀讀入光入光標(biāo)標(biāo)的位置的位置:r 文件名文件名將指定文件的內(nèi)容放入將指定文件的內(nèi)容放入緩緩沖區(qū)中沖區(qū)中光光標(biāo)標(biāo)的位置
15、的位置:0r 文件名文件名將將開開頭頭的位置的位置3.6.3 使用使用vi的啟動選項的啟動選項qq只讀選項只讀選項n n-R-R(read onlyread only)選項使文件只讀,不能修改)選項使文件只讀,不能修改)選項使文件只讀,不能修改)選項使文件只讀,不能修改qq查看文件查看文件n n用戶可以使用用戶可以使用用戶可以使用用戶可以使用viewview以以以以只讀模式只讀模式只讀模式只讀模式打開打開打開打開vivi編輯器。編輯器。編輯器。編輯器。n nviewview是是是是vivi的一個版本,他總是以只讀模式啟動的一個版本,他總是以只讀模式啟動的一個版本,他總是以只讀模式啟動的一個版本,他總是以只讀模式啟動vi vi qq編輯多個文件編輯多個文件 n n用戶啟動用戶啟動用戶啟動用戶啟動vivi時,可以給出多個文件名。時,可以給出多個文件名。時,可以給出多個文件名。時,可以給出多個文件名。3.6.4 運(yùn)行運(yùn)行shell命令命令qq用戶可以在用戶可以在vi命令中運(yùn)行命令中運(yùn)行shell命令。命令。n n形式:形式:形式:形式:!命令名命令名命令名命令名