这是一个我无法找到答案的 Vim 问题。statusline 变量有什么作用%V
?
我检查了我能找到的文档,但不是很清楚,我知道它显示了虚拟列,但是前面的数字/字母-
是什么意思?
例如,以下各项的含义是什么?
0-1
17-18
等等。在我能管理的范围内,同时找到这些例子。之前的数字-
是最后一个实心列,换句话说就是实列。这个对吗?
谢谢你的帮助!
这是一个我无法找到答案的 Vim 问题。statusline 变量有什么作用%V
?
我检查了我能找到的文档,但不是很清楚,我知道它显示了虚拟列,但是前面的数字/字母-
是什么意思?
例如,以下各项的含义是什么?
0-1
17-18
等等。在我能管理的范围内,同时找到这些例子。之前的数字-
是最后一个实心列,换句话说就是实列。这个对吗?
谢谢你的帮助!
在 Vimstatusline
中,您可以设置许多标志,其中存在:
%c
-- 列号,即字节数。%v
和%V
-- 虚拟列号,即屏幕上的列号。那么实际列号和虚拟列号有什么区别呢?答案是,当使用制表符时,虚拟列号是您当前列号的近似值,就好像您使用的是空格而不是制表符一样。
例子。Vim 状态行中一个有用的组合是:
%c%V
正如它在帮助中所说,显示虚拟列号的 %V 标志只会在它与实际列号不同时打印(带有前面的破折号)。因此,通常您的状态行将只显示实际的列号(例如,8
),但如果您位于带有制表符或多字节字符的行上,您将看到两个数字(例如1-8
)。
例如,试试这个:
echo -e "\tHello world." > /tmp/test
然后,/tmp/test
在 Vim 中打开并注意您的状态行,指示实际列和虚拟列之间的差异。如果将tabstop
设置更改为不同的值,则虚拟列将更改。
最后,如果你:set expandtab
和 do :retab
,那么虚拟列指示器将被隐藏。