【发布时间】:2015-01-11 18:35:03
【问题描述】:
如何在 VIM 中搜索和替换以美元符号 ($) 开头的整个单词?
我知道\<word\> 匹配整个单词并且\$ 转义美元符号以进行常规搜索和替换,但使用\<\$word\> 或\$word\> 只会导致“E486:找不到模式”
【问题讨论】:
标签: search vim replace escaping
如何在 VIM 中搜索和替换以美元符号 ($) 开头的整个单词?
我知道\<word\> 匹配整个单词并且\$ 转义美元符号以进行常规搜索和替换,但使用\<\$word\> 或\$word\> 只会导致“E486:找不到模式”
【问题讨论】:
标签: search vim replace escaping
这很容易解释。 $ 通常不是关键字字符,因此无法实现\< 提供的断言(“匹配 [key]word 的开头”)。
您可以通过
添加$(用于当前缓冲区)
:setlocal iskeyword+=$
但这也会影响动作,甚至可能会破坏语法突出显示。最好放弃正则表达式断言; \$word\> 应该足够了。如果您需要断言它之前只有空格:\S\@<!\$word\>
【讨论】: