如何将 gvim 的窗口宽度设置为 80 列文本,加上显示行号所需的宽度

如何将 gvim 的窗口宽度设置为 80 列文本,加上显示行号所需的宽度

我使用 gvim

set number

在我的.vimrc系统中,它在每一行之前显示行号和一个空格。

如果文档少于 10 行,则占用 2 列;如果文档多于 10 行,则占用 3 列,依此类推。

如果我把

set lines=40 columns=80

在 中.gvimrc,它将显示 78 列代码和 2 列行号加速度,或者 77 + 3 等等。

我希望将窗口宽度设置为 80 列 + 显示行号所需的列数。

它不需要是动态的,但我希望能够读取给定文件的行数并进行columns相应设置。(当然,动态解决方案确实很棒,但不是必需的)

答案1

在你的 ~/.vimrc 中尝试这个:

au BufRead * let &numberwidth = float2nr(log10(line("$"))) + 2
          \| let &columns = &numberwidth + 80

每次您加载一个缓冲区(即打开一个文件)时,它都会确定显示最大行号所需的列数,相应地设置“numberwidth”选项,并将“columns”设置为该数字加上 80 作为文本。

答案2

我用

set lines=24 columns=84

在我的 $HOME/.gvimrc 中,它给了我你想要的东西。我很少(如果有的话)有超过 999 行的文件,所以它对我来说是有效的。

答案3

我将数字宽度设置为 5,然后将列设置为 85(80+5)。这对于从 0 行到 100 万行的文件来说应该很好。

以下是您可能需要放入(默认)~/.vimrc 文件中的内容

set numberwidth=5  "Good for files upto a million lines
set columns=85
set nu

您将看到行号的格式为“%5d”(5 是上面的数字宽度),而不是默认的“%d”格式,这在行号前浪费了一些空间,但保持一致性。

相关内容