學習vi和vim編輯器(3):簡單的文本編輯(2)

來源:互聯網
上載者:User

標籤:vi編輯器   編程工具   

接著上一篇文章,繼續講解vi編輯器中一些簡單的文本編輯命令。這一篇文章主要是文本的刪除,複製,移動等命令。

刪除文本:

正如上一篇文章中講過的,對於刪除命令("d")也具有“(command)(TextObject)”的使用形式,其中command代表的是如刪除("d"),替換("c")等命令,而TextObject指的是游標移動命令,代表command影響的文字物件範圍。只要記住了這一點,接下來的刪除命令的組合就不需要記了:

dw:刪除游標所在的位置到該單詞的結尾(w就是游標移動命令中的向後移動一個單詞),注意該命令會將這個單詞之後的空白也刪除;

de: 和dw命令一樣,但是不會刪除單詞之後的空白;

dE: 刪除到包括標點符號在內的單詞結尾;

d$: 刪除游標所在位置到該行結尾處,和D命令效果一樣;

d0: 刪除游標所在位置到該行開始處;

dd: 無論當前游標處於該行的哪個位置,都直接刪除一整行;

d命令和游標移動命令的組合不只這麼多,這裡就不一一舉例了,只要理解這種組合的使用形式,就根本不需要記。這裡補充兩個游標移動命令:" e "和" E " ,這兩個命令都將游標移動到單詞結尾,但是" e "命令移動到單詞本身結尾,而" E "命令移動到該單詞的標點符號之後。

如果需要刪除字元,有更簡單的命令,當然這些命令也可以加上數值參數:

x:刪除游標所在的字元;

X: 刪除游標之前的一個字元;

刪除檔案時發生的問題:如果誤刪了文本,該如何補救呢?可以使用u命令撤銷上一個命令。但是由於u只會撤銷最近的一個命令,因此u命令恢複只能用在還沒有下達其他編輯命令時。個人覺得書上這裡講的有問題,因為我連續刪除十行的的時候,然後接著連續按下10個u,依然能恢複到原來的樣子,如所示,是需要刪除的十行:

在連續按下十個" dd "命令時,再接著連續按十個" u "命令進行恢複,依然能恢複到最原始的樣子,所以覺得書上講的有問題,暫時先記錄下來吧。

移動文本:

vi編輯器中移動文本是通過“刪除後再放置文本實現的”,每次需要移動文字區塊時,先刪除該文字區塊,這樣文字區塊的內容就會儲存在特殊的緩衝區中,然後將游標移動到正確的位置,使用放置命令(p)將剛剛刪除的文本放在新的位置,從而實現文本的移動。

p:將緩衝區的文本放在游標之後,如果移動了一行及一行以上的文本,則是放置在游標之後的新的一行,如果移動不到一行,則將移動的文本放置在游標之後的同一行;

P:與p命令類似,只不過是將緩衝區中的文本放置到游標之前;

需要說明的是," p "命令是將剛剛刪除的文本放置到新的位置,所以一定要在做下一個刪除動作前,將目前刪除的本文恢複過來,否則如果做了一個影響緩衝區的編輯動作(刪除,拖曳等),那麼當前被刪除的文本就會消失。

類似的,可以通過" xp "命令完成兩個字母的對調。

複製文本:

複製文本是通過兩個命令" y "(拖曳)和" p "(放置)來實現的。" y "命令也具有(command)(TextObject)的使用形式,因此可以將拖曳命令和游標移動命令進行組合使用,從而指定需要拖曳的文本範圍。這裡就不再列出拖曳命令和游標移動命令的組合了,但是有個特殊情況," Y "命令等同於" yy "命令,都表示拖曳一整行(而在刪除,替換命令中,D等同於d$,C等同於c$)。

拖曳命令和刪除命令共用一個緩衝區,所以每一個新的刪除或拖曳命令都會覆蓋緩衝區中的內容。

重複:

重複命令為“.”,直接重複上一個命令。

撤銷命令:

前面提過,當出現錯誤操作時,可以使用" u "命令撤銷上一個操作。" U "命令可以撤銷所有對同一行的編輯動作,但是需要游標還在這一行,一旦游標離開了這一行,就無法使用U命令對原先的這一行進行恢複了。

更多插入文本的方法:

上一篇文章已經講了" i "和" a "兩個命令來插入文本,其實還有多個插入文本的命令:

A: 在一行的結尾處添加文本;

I:在一行的開頭處添加文本;

o:在游標所在位置的下一行添加新的一行;

O:在游標所在位置的上一行添加新的一行;

而且之前講過的所有插入命令中,除了o與O命令,都可以接受數值參數。例如" 50i*ESC "就可以直接插入50個" * "字元," 10a*-ESC "就可以直接添加10個" *- "字元對," 2r* "可以直接將當前游標之後的兩個字元替換為兩個" * "。如所示:按鍵順序為" 50,i,*,ESC ",則出現了50個" * ",感覺並不是馬上就出來了,要等將近1秒鐘:

用J命令合并兩行,如果在J命令前面加上數值參數,則可以指定需要合并的行數。


本章vi編輯器命令總結:

d,D,dd,e,E,p,y,Y,yy,.,u,U,A,I,o,O,J。

學習vi和vim編輯器(3):簡單的文本編輯(2)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.