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