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

Posted

技术标签:

【中文标题】如何增加vim中行号边距的间距?【英文标题】:How do I increase the spacing of the line number margin in vim? 【发布时间】:2011-02-01 16:18:38 【问题描述】:

我在 vim 中的配色方案有问题:

(来源:tinygrab.com)

行号与代码太接近。如何增加行号右边距的宽度?

【问题讨论】:

我很确定没有选项可以影响该间距。我很惊讶你认为它们太近了——每个 vim 用户都有相同的一个字符间距——但我知道这是个人喜好。我建议降低数字对比度以获得一些审美距离,但看起来你已经这样做了。 你为什么不尝试让它显示的每一行在它的开头都有一个空格(给出一个间隙的外观)。只需确保在所有保存命令中删除该行! 【参考方案1】:

这也困扰着我;我讨厌将文本塞满纯色块。这让我有幽闭恐惧症。

这是我作为解决方法所做的(在 MacVim 中,但我希望相同的技术在其他地方也可以使用):

在您首选的颜色方案中,将行号列的背景颜色设置为与普通文本的背景颜色相同,将行号前景色设置为低对比度且不显眼的颜色(这样就不会看起来它是您正常文本的一部分)。我对普通文本使用黑底白字,对行号使用黑底深灰:

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

诚然,这并不能解决问题,而是隐藏它,但它对我来说效果很好。

【讨论】:

“幽闭恐惧症”就是这个词! ?在这里也有同感。很好的解决方法【参考方案2】:

https://github.com/vim/vim/blob/master/src/screen.c#L2220

查看代码,这变得不可能(显然,没有修补 vim):vim 总是格式化行号以占据整个可用宽度,之后只留下一个空格(“%*ld”格式代码中的说明符确保了这一点)。

【讨论】:

为什么不死板的 vim 开发者不改变它? ://【参考方案3】:

您可以在“~/.vimrc”中添加以下行:

set nuw=6

其中“6”以字符数的形式指定列的宽度。根据需要替换为更小或更大的数字。我认为仅适用于较新 (>=7?) 版本的 Vim。

【讨论】:

这不符合 OP 的要求,它只是使数字列的宽度变大,将它们更深地移动到您的文本中,因此“更糟” 这不是问题的答案。 虽然没有回答问题,但它帮助我完成了我在谷歌搜索时想做的事情。【参考方案4】:

%left 5 在 vim 终端中(% 整个文档,left 到 linenrs 的距离代码,0-infinity 等宽中的距离(= 列数))

【讨论】:

【参考方案5】:

这里是解决方案2(参考how to change the left margin in gvim)

解决方案 1(如 %left 5 )只是在代码区域中添加“空格”。我猜它和 threadstarter 做的一样……但它不能回答原来的问题。

解决方案 2foldcolumn 可以解决问题(foldcolumn 是行号左侧的列) 在执行模式:set foldcolumn=12 如果你也想改变颜色(如参考) hi FoldColumn guibg=#003f3f(在参考文献中是 FoldColumns,这是错误的)。

【讨论】:

以上是关于如何增加vim中行号边距的间距?的主要内容,如果未能解决你的问题,请参考以下文章

如何定位具有相同边距的 div 左、右和上

html中单元格间距与单元格边距的区别

PS中如何将图像与边距修改成特定的距离

清除行内快元素之间的间距

有关如何使用边距的信息

如何删除不希望保留超级视图继承边距的 tableView 单元格的顶部和左侧边距?