如何在vim中增加行号边距的间距?

37

我在vim中遇到了颜色方案的问题:

alt text
(来源:tinygrab.com)

行号太靠近代码了,我该如何增加行号右侧的空白边距?


我很确定没有影响那个间距的选项。我很惊讶你认为它们太接近了 - 这是每个vim用户都有的相同的单字符间距 - 但我知道这是个人偏好。我建议将数字的对比度降低以获得一些美学距离,但看起来你已经这样做了。 - Cascabel
为什么不尝试让每行显示的文本都在开头加上一个空格(看起来就像有间隔一样)。只需确保在所有保存命令中删除该行即可! - puk
6个回答

20

这也困扰着我;我讨厌文本挤在一个实心颜色块旁边。这会让我感到幽闭恐怖。

以下是我的解决方法(在 MacVim 中,但我认为在其他地方使用相同的技巧也可以):

在你喜欢的颜色方案中,将行号列的背景颜色设置为与普通文本相同的背景颜色,并将行号前景颜色设为低对比度和不引人注目的颜色(这样它看起来不像是你正常文本的一部分)。我使用黑底白字作为正常文本,黑底深灰色字作为行号:

hi LineNr  guifg=#505050   guibg=Black
hi Normal  guifg=White     guibg=Black

不可否认,这并没有真正解决问题,只是把它隐藏起来,但这对我很有效。


"claustrophobic" 这就是那个词!我也有同感。不过有一个好的解决方法。 - abernier

16

为什么那些固执的Vim开发者不改变呢? :/ - 71GA

15
您可以在"~/.vimrc"文件中添加以下行:set nuw=6。其中的数字 "6" 是指每列的宽度,以字符数为单位。根据需要替换为较小或较大的数字。我认为这仅适用于更高版本的 Vim(>=7?)。请注意保留HTML标记。

1
这并不是 OP 所要求的,它只是使数字列的宽度变大,将它们深入到您的文本中,因此更糟糕。 - radixhound
这不是问题的答案。 - mimoralea
8
虽然没有回答我的问题,但这篇文章还是帮助我在浏览搜索结果时找到了我想要的信息。 - mrfred

2
将以下行添加到您的init.vim文件中。
autocmd VimEnter * :%left 5

这将从文件的每一行中移除左边的填充,因此格式可能会有些偏差。 - Syed M Abbas Haider Taqvi

2

%left 5在vim终端中使用(%表示整个文档,left表示代码到行号的距离,0-无限大表示等宽距离(=列数))


1
这是正确的解决方案,但有没有办法将其设置在init.vim.vimrc文件中? - mohammad

1

以下是第二个解决方案(参考如何在gvim中更改左边距):

解决方案1(如%left 5)只是在代码区域中添加“空格”。我猜它做的事情和线程发起者一样......但它没有回答原始问题。

解决方案2foldcolumn可以解决问题(foldcolumn是行号左侧的列)。在exec模式下输入:set foldcolumn=12。如果你还想改变颜色(像参考文献中一样),输入hi FoldColumn guibg=#003f3f(参考文献中写成了FoldColumns,这是错误的)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接