2011-11-30 63 views
10

我在編寫vim正則表達式時很糟糕。無論何時我寫一個做替換,它都不會第一次工作,因爲我不可避免地寫了Perl而不是vim。在進行簡單搜索時我會更好,因爲我打開了incsearch,我可以實時看到我的模式是否匹配。Vim在替換期間的增量搜索

有沒有一種方法,我可以讓s命令行爲像/(執行增量搜索),而我試圖寫一個適當的模式?

回答

18

我不確定,但我認爲沒有辦法做到這一點。順便說一下,我用一個小技巧來加速我的換人。如果你這樣做:

:%s//bar 

在命令行上Vim會使用你的最新搜索。所以,這不是你所需要的,但仍然是一種提高你的替身速度的方法。

+1

這是一個很好的提示。你可以先輸入你的搜索,然後運行該快捷鍵 – Matt

+1

+1,好vimtip :) –

+1

哇,這個技巧可能會節省我在我的職業生涯中的許多小時。謝謝! – notlesh

3

你可以試試這個小動作使用incsearch譜寫自己的搜索模式,然後複製模式進入命令行替換:使用正常模式

  1. 撰寫模式/ ... 你可以看到你的模式匹配。 最後的模式將被存儲在@ /寄存器中。

  2. 進入命令行模式,輸入此部分行::%s/

  3. 現在按這兩個鍵:<c-r>[email protected]/ 這最後的搜索模式複製到你正在寫的 替換命令。 (<c-r>正在按下control-r鍵,而不是在字符中鍵入。)