我希望能够计算缓冲区中 Vim 实际显示的行数。具体来说:
我有一个 xml 文件,其中包含一个根元素和许多相同类型的子元素,看起来像这样
<fields>
<field field="Delegation">
...
</field>
<field field="Assignment">
...
</field>
⋮
</fields>
我将所有字段元素折叠到一行,使其看起来像这样:
<fields>
+-- 12 lines: <field field="Delegation">
+-- 7 lines: <field field="Assignment">
⋮
</fields>
我想要的结果是计算文件中字段元素的数量。现在,我知道我可以使用类似的东西:g/field field/p
或其他 vim 命令或外部程序等来做到这一点。但我希望能够只看一眼某个地方以大致了解信息,就像我对set number
and所做的一样set relativenumber
,没有需要考虑要运行的命令。
我突然想到,这样做的一种方法可能是让 vim 告诉我当前窗口中有多少“显示行”,或者我当前在哪个“显示行”上。
据我所知,vim 目前不支持开箱即用。我遇到的唯一参考是this question,这两个答案似乎明确表示vim不能这样做,尽管我不太清楚。
即使使用某种魔术插件,vim 是否也无法做到这一点?如果需要的话,我不会反对自己写,但我什至不知道从哪里开始寻找我需要写这样的东西。
同样,我知道有数百种简单的方法可以“计算 xml 元素的子元素数量”;在编辑这样的文件时,我只想大致知道我在哪个数字元素上(即 100 中的第 23 位)。