1

我正在尝试使用以下命令计算 vim 中某些正则表达式的出现次数:

:%s/class=//gn

甚至:

:%s/class=/&/gn

但我不断得到E488: Trailing characters。这甚至在官方文档http://vimdoc.sourceforge.net/htmldoc/tips.html#count-items

任何人都可以帮助/解释这一点吗?我发现工作的唯一方法是:%s/class=/&/g,但这在我看来有点矫枉过正,因为它实际上用已找到的相同字符替换正则表达式,而不是仅仅计算出现次数。

我正在使用 VIM 6.3

4

2 回答 2

3

经过一番搜索,我在以下位置找到了这个:help improvements-7

To count items (pattern matches) without changing the buffer the 'n' flag has been added to :substitute.

因此,您至少必须升级到 7.0。:-)

于 2013-08-16T08:23:09.470 回答
1

该命令的n标志:s已在 Vim 7 中实现。所以你需要升级你的 Vim 版本。考虑到 Vim 6.2(我想,它是在 2003 年 6 月 1 日发布的)是 10 多年前发布的,升级仍然是一个好主意,因为从那时起已经包含了几个新功能和错误修复。

于 2013-08-16T08:58:11.277 回答