我在 vim 中的配色方案有问题:
(来源:tinygrab.com)
行号太接近代码。如何增加行号右边距的宽度?
这也困扰着我。我讨厌将文本塞满纯色块。这让我有幽闭恐惧症。
这是我作为解决方法所做的(在 MacVim 中,但我希望相同的技术在其他地方也可以使用):
在您首选的颜色方案中,将行号列的背景颜色设置为与普通文本的背景颜色相同,将行号前景色设置为低对比度且不显眼的颜色(因此看起来不像正常文本的一部分)。我对普通文本使用黑底白字,对行号使用黑底深灰色:
hi LineNr guifg=#505050 guibg=Black
hi Normal guifg=White guibg=Black
诚然,这并不能解决问题,而是隐藏它,但它对我来说效果很好。
https://github.com/vim/vim/blob/master/src/screen.c#L2220
查看代码,这变得不可能(显然,无需修补 vim):vim 总是格式化行号以占据整个可用宽度,之后只留下一个空格(“%*ld”格式说明符在代码确保了这一点)。
您可以在“~/.vimrc”中添加以下行:
set nuw=6
其中“6”根据字符数指定列的宽度。根据需要替换为更小或更大的数字。我认为仅适用于较新的(> = 7?)版本的 Vim。
这是解决方案 2(参考如何更改 gvim 的左边距)
解决方案 1(如%left 5
)只是在代码区域中添加“空格”。我猜它和threadstarter做的一样……但它不能回答原来的问题。
解决方案 2:foldcolumn
诀窍(foldcolumn 是行号左侧的列)在 exec 模式下:set foldcolumn=12
如果您也想更改颜色(如在 ref 中)
hi FoldColumn guibg=#003f3f
(在 ref 中FoldColumns
,那是错误的)。
%left 5
在 vim 终端中(%
整个文档,left
到 linenrs 的距离代码,0-infinity
等宽距离(= 列数))