这是一个场景:我有一个大文件,里面装满了各种各样的折衷垃圾,我想要正则表达式。我通过使用 / 命令并查看它突出显示的内容来摆弄并提出完美的搜索模式。
现在我想使用该模式替换。所以,我开始输入:%s / ,我不记得模式是什么。是否有一些神奇的键盘命令会在这里引入我的上一个搜索模式?如果我正在编写一个特别复杂的正则表达式,我甚至打开了一个新的MacVim窗口,从第一个窗口输入正则表达式到那里的缓冲区,然后在写入替换模式时将其键入Vim窗口。必须有更好的方法。
答案 0 :(得分:10)
在写完问题后找到了我自己的答案:Vim提示将其列为substitute last search,可以通过以下两种方式之一完成。
使用空搜索:
:%S //替换/克
按 Ctrl + r 然后 / 从搜索缓冲区中调用材料( / - 您可以使用 / 替换代表该缓冲区的字母来使用任何其他命名缓冲区。
答案 1 :(得分:4)
有一个/
寄存器包含当前搜索模式,因此您可以将搜索模式插入到您正在键入的任何内容中(在插入模式下或在命令行上)<CTRL-R>/
答案 2 :(得分:1)
另一个选项:在使用<CTRL-R>/
输入模式后,使用<CTRL-F>
编辑命令行。
:help cmdwin