講述Linux Vi刪除復(fù)制取代和替換等
Vi刪除有很多值得學(xué)習(xí)的地方,這里我們主要介紹Linux Vi刪除,包括介紹Vi刪除等方面。在命令模式下可以使用Linux Vi刪除提供的各種有關(guān)命令對(duì)文本進(jìn)行修改,包括對(duì)文本內(nèi)容的Linux Vi刪除、復(fù)制、取代和替換等。
文本Linux Vi刪除
在編輯文本時(shí),經(jīng)常需要Linux Vi刪除一些不需要的文本,我們可以用
Linux Vi刪除單個(gè)字符
x:刪除光標(biāo)處的字符。若在x之前加上一個(gè)數(shù)字n,則刪除從光標(biāo)所在位置開始向右的n個(gè)字符。
X:刪除光標(biāo)前面的那個(gè)字符。若在X之前加上一個(gè)數(shù)字n,則刪除從光標(biāo)前面那個(gè)字符開始向左的n個(gè)字符。
顯然這兩個(gè)命令是刪除少量字符的快捷方法。
Linux Vi刪除多個(gè)字符
dd:刪除光標(biāo)所在的整行。在dd前可加上一個(gè)數(shù)字n,表示刪除當(dāng)前行及其后n-1行的內(nèi)容。
D或d$:兩命令功能一樣,都是刪除從光標(biāo)所在處開始到行尾的內(nèi)容。
d0:刪除從光標(biāo)前一個(gè)字符開始到行首的內(nèi)容。
dw:刪除一個(gè)單詞。若光標(biāo)處在某個(gè)詞的中間,則從光標(biāo)所在位置開始刪至詞尾。同dd命令一樣,可在dw之前加一個(gè)數(shù)字n,表示刪除n個(gè)指定的單詞。
如果用戶不小心進(jìn)行了誤Linux Vi刪除操作,也不要緊,Vi提供了恢復(fù)誤操作的命令,并且可以將恢復(fù)的內(nèi)容移動(dòng),放在文本的任何地方?;謴?fù)命令用² np,其中n為寄存器號(hào)。這是因?yàn)閂i內(nèi)部有9個(gè)用于維護(hù)刪除操作的寄存器,分別用數(shù)字1,2,¼ ,9表示,它們分別保存以往用dd命令刪除的內(nèi)容。這些寄存器組成一個(gè)隊(duì)列,例如最近一次使用dd命令刪除的內(nèi)容被放到寄存器1中;當(dāng)下次再使用dd命令刪除文本內(nèi)容時(shí),Vi將把寄存器1的內(nèi)容轉(zhuǎn)存到寄存器2中,而寄存器1中又將是最近一次dd命令刪除的內(nèi)容。以此類推,Linux Vi刪除可以保存有最近九次用dd命令刪除的內(nèi)容,而前面的用dd命令刪除的內(nèi)容則被拋棄。
假設(shè)當(dāng)前編輯文件為xu.c
/* this is a example */
#include
void main( ) {
int i , j ;
printf( “ please input a number : / n ” );
scanf ( “ % d ” , &i ) ;
j = i + 100 ;
printf ( “ /n j = % d /n ” , j ) ;
return ;
我們對(duì)其進(jìn)行如下操作:
1. 將光標(biāo)移至文件***行,按dd命令,此時(shí)文件***行的內(nèi)容被Linux Vi刪除,且被刪除的內(nèi)容保存在寄存器1中;
2. 按5j使光標(biāo)下移至***個(gè)printf語句行;
3. 按dd命令將該行刪除,此時(shí)寄存器1中將保存剛剛被刪除的內(nèi)容:
printf (“ please input a number :\ n ” );
而寄存器1原有的內(nèi)容:
/* this is a example */
則被保存到寄存器2中;
在最末行模式下,也可以對(duì)文件內(nèi)容進(jìn)行Linux Vi刪除,但它只能刪除整行,一次可將某個(gè)指定范圍內(nèi)(起始行號(hào),終止行號(hào))的所有行全部刪除。需要注意的是,用此種方法進(jìn)行刪除時(shí),Vi并不把所刪內(nèi)容放入寄存器中,因而當(dāng)發(fā)生誤Linux Vi刪除操作時(shí),不能用² np命令恢復(fù),只能用u命令進(jìn)行有限的恢復(fù)。***提一下,如何在文本輸入方式時(shí)將所輸入文本刪除。用戶使用
【編輯推薦】