版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章文本編輯
主要內(nèi)容進(jìn)入和退出vi的方法vi編輯器的工作方式vi文本插入和修改命令的規(guī)則、應(yīng)用移動(dòng)光標(biāo)的命令屏幕命令、字符串檢索等命令的使用ex命令(末行命令)的使用
3.1vi的工作方式
3.1.1命令方式
當(dāng)我們輸入命令vi,進(jìn)入vi編輯器時(shí),就處于vi的命令方式。從命令方式進(jìn)入輸入方式通過輸入vi的插入命令(i
)、附加命令(a
)、打開命令(o)、替換命令(s
)、修改命令(c)或取代命令(r
)由輸入方式回到命令方式按下<Esc>鍵3.1.2輸入方式vi和ex編輯器功能是相同的,二者主要區(qū)別是用戶界面。在vi中,命令通常是單個(gè)字母,例如a,x,R等。在ex中,命令是以<Enter>鍵結(jié)束的正文行為了使用ex轉(zhuǎn)義方式,可輸入一個(gè)冒號(hào)(:)
例如,
:1,$s/I/i/g<Enter>則從文件第一行至文件末尾($)將大寫I全部替換成小寫i3.1.3ex轉(zhuǎn)義方式3.2.1進(jìn)入vi在系統(tǒng)提示符($)下輸入命令vi和想要編輯(建立)的文件名,便可進(jìn)入vi。例如:$viexample.c
3.2進(jìn)入和退出vi:wq
把編輯緩沖區(qū)的內(nèi)容寫到正在編輯的文件中,退出編輯器,回到shell下。:ZZ
僅當(dāng)作過修改時(shí)才將緩沖區(qū)內(nèi)容寫到文件上。:x與:ZZ相同。:q!強(qiáng)行退出vi。感嘆號(hào)(!)告訴vi,無條件退出,丟棄緩沖區(qū)內(nèi)容3.2.2退出vi3.3.1插入命令在i命令之后輸入的內(nèi)容都插在光標(biāo)位置之前,光標(biāo)后的文本相應(yīng)向右移動(dòng)。如按下Enter鍵,就插入新的一行或者換行。輸入I命令后在當(dāng)前行(即光標(biāo)所在行)的行首插入新增文本,行首是該行的第一個(gè)非空白字符。當(dāng)輸入I命令時(shí),光標(biāo)就移到行首。3.3文本輸入a
在光標(biāo)之后插入,光標(biāo)可在一行的任何位置。A在光標(biāo)所在行的行尾添加文本。3.3.2附加命令o在光標(biāo)所在行的下面插入一行。O在光標(biāo)所在行的上面插入一行。3.3.3打開命令四個(gè)表示方向的箭頭鍵:←↓↑→<Bksp>(退格鍵)<Ctrl>U將光標(biāo)回退到剛插入字符串的第一個(gè)字符,并重新開始插入。<Ctrl>W將光標(biāo)移到最后插入單詞的首字符。<Ctrl>T在插入正文時(shí),如果光標(biāo)在當(dāng)前行的開頭,并且設(shè)置了自動(dòng)縮進(jìn)選項(xiàng),那么這個(gè)命令就插入縮進(jìn)所對應(yīng)的空格。如果光標(biāo)在新插入詞的中間,設(shè)從該詞開頭至光標(biāo)位的位移為k,縮進(jìn)空格為n,那么這個(gè)命令就在光標(biāo)前插入(n-k)個(gè)空格;如果k大于n,則n擴(kuò)大一倍。3.3.4輸入方式下光標(biāo)移動(dòng)3.4移動(dòng)光標(biāo)向右(向前)移動(dòng)一個(gè)字符的命令(鍵):
l<Space>右向鍵
一次向右移動(dòng)n個(gè)字符:6l,5<Space>,8→向左(向后)移一個(gè)字符的命令(鍵):
h<Bksp>左向鍵
一次向左移動(dòng)n個(gè)字符:3h移到下一行的命令(鍵):
+〈Enter〉j<Ctrl>N下向鍵
一次向下移動(dòng)n行:6+,3<Enter>,7j移到上一行的命令(鍵):
-k<Ctrl>P上向鍵
一次向上移動(dòng)n行:5-,8k移至行首的命令(鍵):^將光標(biāo)移到當(dāng)前行的第一個(gè)非空白符(非制表符或非空格符)
0總是將光標(biāo)移到當(dāng)前行的第一個(gè)字符,不管它是否為空白符移至行尾的命令(鍵):
$移至指定行的命令(鍵):
[行號(hào)]G移至指定列的命令(鍵):
[列號(hào)]|按詞前移的命令(鍵):
w
——詞被定義為以標(biāo)點(diǎn)符號(hào)或空白符(制表符、換行符或空格)分開的字母數(shù)字串
W
——詞被定義為非空白字符串按詞后移的命令(鍵):
b——詞被定義為以標(biāo)點(diǎn)符號(hào)或空白符(制表符、換行符或空格)分開的字母數(shù)字串
B——詞被定義為非空白字符串移至詞尾的命令(鍵):
eE
對搜索詞的定義分別與w和W相同。如光標(biāo)已在一個(gè)詞中,它就移至該詞末尾
按句移動(dòng)的命令(鍵):
()命令(和)分別將光標(biāo)移至上一個(gè)和下一個(gè)句子的開頭。句子被定義為以句點(diǎn)(.)、問號(hào)(?)或感嘆號(hào)(?。┙Y(jié)尾、后隨二個(gè)空格或一個(gè)換行的字符序列。句子在第一個(gè)非空白字符處開始。
在屏幕上移動(dòng)的命令(鍵):[位移]H將光標(biāo)移至屏幕的左上角。[位移]M將光標(biāo)移至屏幕中間行的開頭。[位移]L當(dāng)顯示內(nèi)容超過一屏?xí)r,它將光標(biāo)移至屏幕上的最底行;當(dāng)顯示內(nèi)容不足一屏?xí)r,它使光標(biāo)停在最后一行上。1.文本刪除刪除字符的命令(鍵):
x刪除光標(biāo)所在的字符
X刪除光標(biāo)前面的那個(gè)字符刪除文本對象的命令(鍵):
dd刪除光標(biāo)所在的整行
D從光標(biāo)位置開始刪除到行尾
d<光標(biāo)移動(dòng)命令>從光標(biāo)位置開始刪到由光標(biāo)移動(dòng)限定的文本對象的末尾3.5文本修改2.復(fù)原命令
u如果插入后用u命令,就刪除剛插入的正文;如果刪除后用它,就相當(dāng)于又插入剛刪除的正文。
U把當(dāng)前行恢復(fù)成它被編輯之前的狀態(tài),不管你把光標(biāo)移到該行后對它編輯了多少次。3.重復(fù)命令
.重復(fù)實(shí)現(xiàn)剛才的插入命令或刪除命令4.修改命令
命令c、C和
cc修改文本對象,并用新輸入的文本代替老文本。c命令的一般使用方式是:
c后面緊接著光標(biāo)移動(dòng)命令(限定刪除文本的范圍),之后是新的文本,最后鍵擊<Esc>C命令修改從光標(biāo)位置到該行末尾的文本。一般方式是:
C后面緊接著是輸入新的文本,最后是<Esc>cc命令除影響到整行(不是行的一部分)外,其余作用與C命令相同。5.取代命令r命令用隨后打入的單個(gè)字符取代光標(biāo)所在的字符R命令用隨后打入的文本取代光標(biāo)位及其右面的若干字符,每打入一個(gè)字符就替代原有的一個(gè)字符。6.替換命令s(小寫)命令用隨后打入的的正文替換光標(biāo)所在的字符S(大寫)命令用新打入的正文替換當(dāng)前行(整行)7.行結(jié)合命令行結(jié)合命令J(大寫字母)把光標(biāo)所在行與下面一行結(jié)合成一行8.文本位移命令
>命令將限定正文行向右移動(dòng),通常是8個(gè)空格。文本右移命令的一般格式是:>光標(biāo)移動(dòng)命令<命令將限定正文行向左移動(dòng)。使用方式同上。>>命令將光標(biāo)所在行右移8個(gè)空格。<<命令將光標(biāo)所在行左移8個(gè)空格。9.過濾命令過濾命令的格式是:
!<光標(biāo)移動(dòng)命令><Linux命令><Enter>其功能是把光標(biāo)所在行和光標(biāo)移動(dòng)命令指定行之間的所有行,由給定的Linux命令進(jìn)行加工,替換原來的那部分正文。編輯已存文件的最常用方式是:
$vi文件名從某一指定行進(jìn)入vi。其格式是:
$vi+行號(hào)文件名從某一指定詞進(jìn)入vi。其格式是:
$vi+/詞文件名編輯多個(gè)文件
可以同時(shí)調(diào)入多個(gè)文件,依次對它們進(jìn)行編輯。其命令格式是:
$vi文件1文件2…
當(dāng)完成對第一個(gè)文件的編輯及存盤(用:w命令)后,輸入命令:n就進(jìn)入第二個(gè)文件。
3.6編輯文件向前檢索命令的格式是:/模式〈Enter〉
系統(tǒng)從光標(biāo)所在行開始向前查找這個(gè)模式,找到第一個(gè)相匹配的字符串后,光標(biāo)就停在該模式的第一個(gè)字符上/模式/位移〈Enter〉位移可以是-、+、-數(shù)字、+數(shù)字“/模式/-”
從光標(biāo)所在行起始向前檢索指定的模式,光標(biāo)停在首先找到的那一行的前一行的行首“/模式/-數(shù)字”
其功能與上一形式相同,但光標(biāo)停在匹配行之前倒數(shù)第n行(即,行號(hào)=匹配行號(hào)-n)的行首,這里n是“數(shù)字”值“/模式/+”
是從光標(biāo)所在行起始向前檢索指定的模式,光標(biāo)停在首先找到的那一行的下面一行的行首“
/模式/+數(shù)字”
其功能與上一形式相同,但光標(biāo)停在匹配行之后正數(shù)第n行(即,行號(hào)=匹配行號(hào)+n)的行首,這里n是“數(shù)字”值3.7字符串檢索向后檢索命令的格式是:?模式〈Enter〉
?模式?位移〈Enter〉如果在模式中想包含以下特殊字符:*·
$^[}\/
需要使用其轉(zhuǎn)義形式,即在這些字符前面加上反斜線(\),使其失去特殊含義,作為一般字符對待檢索下一個(gè)字符串的命令:
n
重復(fù)檢索的方向與上一個(gè)檢索命令相同
N重復(fù)檢索的方向與上一個(gè)檢索命令相反查找字符的命令:
f字符——在當(dāng)前行上向前查找給定的字符
F字符——在當(dāng)前行上向后查找給定的字符;——重復(fù)上一次查找動(dòng)作,查找方向相同,——反向重復(fù)查找
光標(biāo)靠近字符的命令:
t向前移動(dòng)光標(biāo)靠近給定字符,但不在該字符上
T向后移動(dòng)光標(biāo)靠近給定字符,但不在該字符上置標(biāo)記命令的格式是:
m小寫字母移至標(biāo)記命令:
'標(biāo)記字母——單引號(hào)(')命令將光標(biāo)移到預(yù)置標(biāo)記行的開頭`標(biāo)記字母——倒單引號(hào)(`)命令將光標(biāo)精確移到該行的置標(biāo)記位置全局替換命令一般格式是:g/模式/命令表
g命令分為兩個(gè)執(zhí)行階段:第一階段,對編輯緩沖區(qū)中與給定模式相匹配的各行做上標(biāo)記;第二階段,對每個(gè)置上標(biāo)記的當(dāng)前行(以·表示)執(zhí)行給出的命令表下面是一些常用的全局命令:g/s1/p
打印包含字符串s1的所有行
g/s1/s//s2/在包含字符串s1的所有行中用字符串s2替換s1的首次出現(xiàn)g/s1/s//s2/g用字符串s2替換字符s1的所有出現(xiàn),包括在一行中s1出現(xiàn)多次g/s1/s//s2/gp功能與上例相同,它還將所有修改過的行顯示在屏幕上g/s1/s//s2/gc確認(rèn)(confirm)替換。字符串s1每出現(xiàn)一次,就詢問你是否用字符串s2替換。如果回答Y,則進(jìn)行替換;否則,不做替換g/s0/s/s1/s2/g對包含字符串s0的所有行做上標(biāo)記,然后只對有標(biāo)記的行進(jìn)行替換—用字符串s2替換字符串s1的所有出現(xiàn)g!/模式/命令表其功能是對所有不匹配給定模式的文本行執(zhí)行給出的命令表g/^/s///g在文件的每一行的開頭插入給定的空格s/模式/替代文本/選項(xiàng)對于每一指定的行,與正則表達(dá)式“模式”匹配的第一個(gè)字符串用“替代文本”取代進(jìn)入ex命令的方法是在命令方式下輸入冒號(hào)(:),則在狀態(tài)行上出現(xiàn)冒號(hào)提示符,隨后就可輸入ex命令。一種辦法是指定行號(hào),例如,
:20<Enter>光標(biāo)移到第20行的行首。另一種辦法是給定模式,向前或向后查找。(與3.7節(jié)類似)3.8ex命令ex命令還用下述字符指定行的地址:
.當(dāng)前行。多數(shù)命令的默認(rèn)地址是當(dāng)前行。
n編輯器緩沖區(qū)中的第n行,行號(hào)從1開始順序編排。
$緩沖區(qū)中最后一行。
%
1,$(從第1行至最后一行)的縮寫。
+n或者-nn表示相對當(dāng)前行的位移'x
如果預(yù)先在前面的正文行上利用m命令置上標(biāo)記,現(xiàn)在要快速地找到或返回到有標(biāo)記的正文行上,那么就可以利用'x的形式,其中x是標(biāo)記名1.e命令利用e命令可以在編輯當(dāng)前文件之時(shí)編輯另外的文件。當(dāng)前文件名總是由vi記住,并用百分號(hào)(%)表示,而編輯緩沖區(qū)中的上一個(gè)文件名是用#號(hào)表示的。e命令常用形式如下:
e文件名——它編輯由文件名指定的文件
e!文件名——它不把修改過的當(dāng)前文件從編輯緩沖區(qū)中寫出去
e+n文件名——它從第n行開始編輯指定的文件3.8.2常用ex命令2.w命令w(寫)命令可把編輯緩沖區(qū)中全部或者部分內(nèi)容寫到當(dāng)前文件或者另外某個(gè)文件中。
它有以下幾種常用形式:w文件名——它把所做的修改寫回到指定的文件,并顯示所寫的行數(shù)和字符數(shù)
w>>文件名——它把緩沖區(qū)內(nèi)容附加到現(xiàn)有文件的末尾,先前文件內(nèi)容并不被破壞
w!文件名——它可跳過通常寫命令對文件的檢查,將緩沖區(qū)內(nèi)容寫到系統(tǒng)允許的任何文件上
3.r命令r(讀)命令把文本讀入編輯緩沖區(qū)的任意指定位置。所讀入文本必須至少有一行長,可以是一個(gè)文件或者命令的輸出。常用形式如下:r文件名——它將指定文件的文本副本放入緩沖區(qū)中指定行之后r!命令——它把命令的輸出讀到緩沖區(qū)指定行之后4.q命令
q(退出)命令可從vi中退出來。它有下述五種使用方式:q——它的功能是退出viq!——它的功能是立即從vi中退出,不保留所做的修改,也不顯示任何提示信息wq文件名——它的功能等價(jià)于執(zhí)行w命令后又執(zhí)行q命令wq!文件名——它的功能是忽略執(zhí)行w命令之前所做的檢查x文件名——如果該文件做過修改,并且尚未寫出去,那么這個(gè)命令就把緩沖區(qū)內(nèi)容寫出去,然后退出vi;否則,只是退出vi。vi啟動(dòng)的常用方法
命令功能描述命令功能描述vifile從第一行開始vi+#file從第#行開始vi+file從文件尾開始vi+/patternfile從指定的模式匹配處開始vi–rfile從癱瘓恢復(fù)vi–L/-r從癱瘓中列恢復(fù)列表vi的插入模式功能鍵
鍵或命令功能描述鍵或命令功能描述i光標(biāo)處插入I行首插入a光標(biāo)后追加A行末追加o當(dāng)前行下面插入新行O當(dāng)前行上面插入新行vi的刪除命令
命令功能描述命令功能描述x刪除光標(biāo)處的字符X刪除光標(biāo)前的字符d0從光標(biāo)處刪除到行首D從光標(biāo)刪除到行末dd刪除光標(biāo)所在的行dw刪除光標(biāo)后的一個(gè)word#d刪除(含)光標(biāo)所在后的#行#x刪除光標(biāo)所在處的#個(gè)字符vi的修改與替換命令
命令功能描述命令功能描述R/cc替換/修改一整行cw修改一個(gè)字C修改光標(biāo)后的部分s替換光標(biāo)處的字符S替換光標(biāo)所在的行r替換當(dāng)前一個(gè)字符R從當(dāng)前字符開始替換vi的搜
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)學(xué)-山東省淄博市2024-2025學(xué)年第一學(xué)期高三期末摸底質(zhì)量檢測試題和答案
- 《文學(xué)概論》課程期末試題B卷及答案
- 小學(xué)一年級(jí)20以內(nèi)數(shù)學(xué)口算練習(xí)題
- 合伙經(jīng)營協(xié)議書(3篇)
- 小學(xué)數(shù)學(xué)六年級(jí)上冊《分?jǐn)?shù)四則混合運(yùn)算》教學(xué)設(shè)計(jì)
- 秋季腹瀉防治彩
- 《心內(nèi)科常見疾病》課件
- 企業(yè)社會(huì)責(zé)任與品牌價(jià)值計(jì)劃
- 游戲產(chǎn)業(yè)行業(yè)設(shè)計(jì)師培訓(xùn)總結(jié)
- 教學(xué)策略調(diào)整與靈活應(yīng)對計(jì)劃
- 大概念視域下高中歷史融通教學(xué)淺思+課件
- 中學(xué)生使用手機(jī)的利與弊
- 一氧化鉛安全技術(shù)說明書MSDS
- kv桿塔防腐施工組織設(shè)計(jì)
- 家裝工地形象及成品保護(hù)驗(yàn)收標(biāo)準(zhǔn)
- 2018年海南公務(wù)員考試申論真題
- GB/T 28799.2-2020冷熱水用耐熱聚乙烯(PE-RT)管道系統(tǒng)第2部分:管材
- 《毛澤東思想概論》題庫
- 勞務(wù)派遣人員考核方案
- 意志力講解學(xué)習(xí)課件
- 生產(chǎn)作業(yè)員質(zhì)量意識(shí)培訓(xùn)課件
評論
0/150
提交評論