vim 搜索带有 * 的下划线变量名

vim 搜索带有 * 的下划线变量名

当我按下*诸如 之类的变量名称时hello,vim 会突出显示诸如this->hello或 之类的名称this.hello,但不会突出显示_hello

这是一种非常奇怪的行为,因为我可以突出显示所有hello的 by /hello。但由于某种原因,*的行为与 不同/

有什么办法可以突出*显示所有hello的吗?

答案1

当您使用该*密钥时,它会有效地搜索

\<theword\>

周围\<...\>意味着它只查找整个单词。所以bhello在你的例子中不会被发现。

您可以通过以下方式修改计为非关键字值的字符set iskeyword

默认值(在我的版本中)是

iskeyword=@,48-57,_,192-255

所以我们可以确保_不属于其中:

set iskeyword=@,48-57,192-255,^_

这可以放在您的.vimrc文件中或在:set内部运行vim

答案2

您可以使用该g*命令代替*

g*          Like "*", but don't put "\<" and "\>" around the word.
            This makes the search also find matches that are not a
            whole word.

相关内容