2011-11-30 61 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键,而不是在字符中键入。)