如何在Vim中指定光标下的行?

我想要统计光标下线的出现次数。我打算用如何在Vim中指定光标下的行?

:%s/pattern/&/gn 

命令。那么如何指定光标下方的行代替pattern

回答:

您可以通过表达式寄存器插入当前行。对于文字匹配,切换正则表达式来非常nomagic模式(\V),和逃避任何反斜线和行分隔符:

:%s/\V<C-r>=escape(getline('.'), '/\')<CR>/&/gn 

根据您要准确算什么,你可能还需要锚定(\^...\$非常nomagic模式)的模式。

除了通过<C-r>直接插入,您还可以通过:execute构建命令。这在功能上更适合。

:execute '%s/\V' . escape(getline('.'), '/\') . '/&/gn' 

回答:

如果您正在寻找罐装插件解决方案,我的SearchPosition plugin可以统计出现次数。有了它,V<A-m>将显示这样的总结:

On sole match in this line, 8 following, 2 in previous lines; total 10 for /this line\n/ 

以上是 如何在Vim中指定光标下的行? 的全部内容, 来源链接: utcz.com/qa/263395.html

回到顶部