Vim初探(二)

來源:互聯網
上載者:User

  在Vim初探(一)中介紹了Vim中模式的概念,以及如何在Vim中以多種方式移動游標。在本節中將介紹拷貝、剪下及黏貼,Undo/Redo,以及搜尋的操作。閑話少說,我們開始吧!

一.拷貝、剪下及黏貼

  拷貝(Copy)、剪下(Cut)及黏貼(Paste) 是我們在做文本編輯時最常用的操作。Vim中也有相應的操作,只不過在Vim中它們的命名方式有所變化:Vim將cut稱為delete,將copy稱為yank,將paste仍稱為paste。在用Vim編輯文本時Vim會在記憶體中開闢一塊緩衝將文本放入其中,所有對文本的編輯都將寫入這塊緩衝中直至使用:write或:w儲存編輯狀態才將儲存的結果寫入硬碟。在進行剪下操作時,Vim將文本從緩衝中"刪除"(delete)並將其存入寄存器。在進行拷貝操作時,Vim從緩衝中“拉出”(yank)相應的文本並將其存入寄存器中。

  在Normal模式下Vim中剪下(delete),拷貝(yank)及黏貼(Paste)操作的相應命令為:d, y, p。在Vim中你可以將剪下和拷貝的操作分別應用於一個字元,一個詞,一行文本,以及一段文本。相應的命令分別為:

操作對象  |  剪下 |   拷貝

----------|-------|----------

一個字元  |  dl    |   yl       (注意是小寫字母L,而不是數字1)

----------|-------|-----------

一個詞     |  dw  |    yw

----------|-------|-----------

一行文本  |  dd   |    yy

----------|-------|-----------

一段文本  |  dap |   yap

----------|-------|----------

  例如若要剪下某個詞並將其黏貼到另一個位置,只需將游標移動到該詞,按下dw,然後將游標移動到需要黏貼的位置並按下p。同時在黏貼時Vim提供兩種方式:

p(小寫)    黏貼在當前游標位置之後

P(大寫)    黏貼在當前游標位置之前

二.Undo/Redo

  與拷貝,剪下和黏貼類似,Undo/Redo也是我們在編輯文本時常用的操作。在Vim中按u進行Undo操作,按ctrl-r進行Redo操作  。非常簡單!理論上在Vim中可以進行無限層級的Undo/Redo操作。同時Vim提供了一些進階的Undo/Redo操作,即earlier和later命令。例如我想回到四分鐘以前的狀態,只需執行命令:earlier 4m 。然後我又想前進到30秒後的狀態,則執行命令:later 30s 。剛才的兩個例子用時間點做參考,那麼如果我想回到之前五次修改之前的狀態,則執行命令:undo 5 .Vim以樹形結構的方式組織undo list,可以用命令:undolist查看。所以從某種意義上講,Vim不僅是一個文字編輯器,而且還是一台時光機(time machine)。

三.搜尋操作

  Vim中內建了一個強大的搜尋引擎。搜尋時只需在Normal模式下按/鍵,鍵入所要搜尋的詞並按斷行符號鍵即可,例如要搜尋文本中是否含有hello,只需執行/hello<cr>即可。若文本中含有多個要搜尋的詞,按n跳轉到該詞下一處出現的位置,按N跳轉到該詞前一處出現的位置。在Vim中搜尋時可以通過一些參數的設定來定製搜尋的方式,下面介紹三個搜尋相關的參數。

set incsearch    如果你只是模糊的記得要搜尋的詞,可以開啟incsearch,那麼你在鍵入要搜尋的詞過程中Vim就進行搜尋

set ignorecase    搜尋時忽略大小寫

set smartcase    如果你鍵入的要搜尋的詞只含小寫字母,則搜尋時忽略大小寫。否則搜尋時考慮大小寫。

  另外如果我想確切的搜尋某個詞,則需求助逸出字元\。如我想確切的搜尋hello這個詞,需要執行/\<hello\>並按斷行符號。若搜尋文本中的數字,則執行\/d命令。/\d\+ 命令搜尋一個或多個數字。/\d\*搜尋零個或多個數字。我想熟悉Regex的同學應該對此不陌生。

參考文獻

1.http://www.swaroopch.com/notes/Vim

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.