Vim: 仅在关键字之间进行模式匹配

Vim: pattern matching only among the keywords

在 vim 中,定义了语言相关的关键字。我只想在这些语言方面的关键字中使用正则表达式查找模式。

我的初衷是突出c++的成员变量,通常在单词末尾加下划线。在下面的示例中,我只想突出显示 route_graph_.

auto graph = route_graph_;
auto path = extract_path(route_graph_);
auto local_graph = createLocalGraph();

我最初的尝试是/.*_,但显然下面显示的结果不是我想要的。但是我想如果我只能在关键字中搜索 /.*_ ,则可以只突出显示 route_graph_.

我不知道匹配关键字,但您可以通过将 .* 替换为更具选择性的内容来实现。

  • \<\> 匹配单词边界。
  • \w* 匹配单词字符。

把它们放在一起你会得到:

/\<\w*_\>

只匹配所需的标识符: