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

tvokkenx  于 2022-11-11  发布在  其他
关注(0)|答案(6)|浏览(298)

我有一个问题,我的配色方案在Vim:

(来源:tinygrab.com
行号与代码太接近。如何增加行号右边距的宽度?

qij5mzcb

qij5mzcb1#

这也困扰着我;我讨厌把文字塞在一块纯色上,这让我有幽闭恐惧症。
以下是我的解决方法(在MacVim中,但我希望同样的技术在其他地方也能工作):
在您喜欢的配色方案中,将行号列的背景色设置为与普通文本的背景色相同,将行号的前景色设置为低对比度且不显眼的颜色(这样看起来就不会像是普通文本的一部分)。我对普通文本使用黑底白字,对行号使用黑底深灰色:

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

不可否认,这并不能解决问题,而是隐藏了问题,但对我来说效果很好。

flvlnr44

flvlnr442#

https://github.com/vim/vim/blob/master/src/screen.c#L2220
查看代码,这是不可能的(显然,如果不修补vim):vim总是将行号格式化为占据整个可用宽度,只在后面留下一个空格(代码中的“%*ld“格式说明符确保了这一点)。

l7wslrjt

l7wslrjt3#

您可以在“~/.vimrc”中添加以下行:
set nuw=6
其中“6”指定了列的宽度,以字符数表示。根据需要替换为更小或更大的数字。我想,只适用于Vim的最新版本(〉=7?)。

kpbwa7wx

kpbwa7wx4#

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

3yhwsihp

3yhwsihp5#

这里是解决方案2(参考如何在gvim中更改左边距)
解决方案1(如%left 5)只是在代码区域中添加“空格”。我猜它做的和threadstarter做的一样...但它没有回答最初的问题。

解决方案2foldcolumn就可以做到这一点(foldcolumn是行号左边的列)在exec模式下:set foldcolumn=12如果你也想改变颜色(就像在ref中一样)hi FoldColumn guibg=#003f3f(在ref中是FoldColumns,这是错误的)。

blmhpbnm

blmhpbnm6#

将以下行添加到init.vim文件中。

autocmd VimEnter * :%left 5

相关问题