我想在状态栏中显示当前列,这在许多其他文本编辑器中很常见。例如。最好知道您是否在80列或以上。

如何在状态栏中显示当前列?

评论

如果要显示光标的当前列,请键入:echo col('。')。

另请参阅:为什么“设置标尺”会重置为Noruler?

#1 楼

尝试设置“统治者”选项是否是您想要的。在我的计算机的右下角显示光标所在的行和列。

:set ruler


编辑注释:

从帮助中of vim(命令:help ruler):


如果显示的字符数与文本中的
字节数不同(例如,对于TAB或多字节)字符),同时显示
文本列(字节号)和屏幕列,
用短划线隔开。


您可以尝试使用rulerformat进行更改选项,例如:set rulerformat=%l,%v

评论


是的,有点。但这显示出一个奇怪的价值,例如23,62-68分别是23人。我应该如何为该栏解释62-68?

–乔纳斯(Jonas)
2011年12月6日20:49

62将制表符计数为一个字符,68将制表符计数

– RedGrittyBrick
2011年12月6日20:58在

来自命令':help ruler':“如果显示的字符数与文本中的字节数不同(例如,对于TAB或多字节字符),则文本列(字节数)和屏幕一列,用短划线隔开。”您可以尝试使用'rulerformat'选项进行更改,例如':set rulerformat =%l,%v'

– Birei
2011年12月6日21:00



标尺不适用于Vim中的拆分窗口。

–密海
2015年11月17日在16:03



@Jonas不仅如RedGrittyBrick所说的制表符,还包括字符和字节。这在单字符字形具有多字节代码点的UTF-8文件中非常明显。例如,拉丁字母eñe(n上有波浪号,发音为EN-yea)是单个字符字形,但占用两个字节来表示代码点(\ xC3B1),三分之一(1/3)是单个字符字形具有三个字节的代码点(\ xE28593)。

– luv2code
18年8月10日在13:17

#2 楼

请参阅:help statusline以了解许多可用的选项。

我在~/.vimrc中的其他指令之间有此选项:

set statusline+=col:\ %c,


输出

col: 64


在我的状态栏中。

我没有set ruler

评论


这对我不起作用。我可能需要更多设置。

–乔纳斯(Jonas)
2011年12月6日23:34

乔纳斯,您可能必须在.vimrc中使用set laststatus = 2才能始终显示状态行。 (0->从不显示状态行; 1->仅在至少有两个窗口时显示; 2->始终显示状态行)。

–pabuisson
2014年1月17日14:01



我使用以下内容在状态栏上以及之前的内容之前提供了空间:set statusline + = \ col:\%c,

– David Baucum
15年2月26日在17:36

我更喜欢这个答案,而不是标尺,其他想要自定义vim的人应该尝试编辑.vimrc文件。

– zionpi
20年7月16日在15:42



这将计算字节数,而不计算字符或列数,这意味着如果该行包含多字节字符(例如ξéã),则列数将是错误的。使用%v可以解决。

–user596332
20年11月3日,19:35

#3 楼

执行此操作的另一种方法是执行'g Ctrl-G',它以五种方式打印光标的当前位置:列,行,字,字符和字节。 (摘自http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G)

评论


该解决方案具有一些独特之处,可以区分Column和VisibleColumn。不可打印字符显示为两列,但应计为一列。如果非可打印字符,则输出如下所示:RealColumn-VisibleColumn,Line,Word,Character和Byte。

–mxlian
16-3-2在11:44



#4 楼

或者,将“ ruler”设置为未设置,以提高性能,并在要查看当前列时按CTRL-G。

评论


击中Ctrl-Anything听起来并不像提高性能。我们正在输入字符。没有人能以足够快的速度飞快地看到这种性能差异的手指和眼睛。

– macetw
17年4月19日在20:30

#5 楼

我会使用set Ruler贬值,因为我认为它与statusline选项不兼容,例如如果您将状态行设置为与设置标尺一起显示完整的文件路径

set statusline+=%F

set ruler

那么它不显示列号,但是只是状态栏中的完整文件路径。
但是,如果将以下内容放在.vimrc中,则可以正确显示所有内容,即

[文件路径/文件名] [行号]:[列号]

#6 楼

对于正在寻找此答案但又不习惯使用VIm的其他人,我个人发现的最简单的答案是将此行添加到主目录中.vimrc文件的末尾:

set ruler

#7 楼

要进行永久更改,您可以执行以下操作:
echo "set ruler" >> ~/.vimrc