在插入模式下,Ctrlr/(参见 :h "/
)将粘贴搜索寄存器的内容。但是,如果您搜索带有 * 的单词并粘贴搜索寄存器,它将放入特殊的单词边界字符 \<
和\>
。或者,如果幸运的话,您可能会得到 ' \Vsearch
。我认为这很愚蠢,但我确信 VIM 有其让我的生活变得更加困难的原因。如果没有特殊的 vim 魔术字符,我将如何获取搜索寄存器的内容?
最佳答案
搜索寄存器可能不包含(简单/foo
搜索)、很少(\<cword\>
从*命令搜索)或很多(^\%(foo\|bar\)\w\+!\?
)“特殊字符”。对于前两个,通常只有一个匹配,对于最后一个,可能有多个匹配。
最初我使用了一个过滤掉特殊正则表达式原子的映射,但后来我编写了一个更通用的 PatternComplete plugin (刚刚发布),它提供插入模式和命令行映射来插入匹配项。它还允许您输入正则表达式,然后插入所有匹配项。
关于regex - VIM - 如何粘贴没有特殊字符的搜索寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668484/