更改 VIM 中分割的边框宽度

问题描述 投票:0回答:3

我已经配置我的 VIM 安装好几天了,距离完美完美只剩下几天了。然而,唯一困扰我的是分割的边框宽度。

有什么办法可以改变这些的宽度吗?或者也许只是将它们的颜色设置为与背景相同?

enter image description here

我的意思是这张图片中显示的笨重的 6/7px 垂直边框。

vim macvim
3个回答
15
投票

拆分始终为一个字符单元格宽。不过你可以

set fillchars+=vert:\|

并将 VertSplit 突出显示组设置为适当的值,例如

hi vertsplit guifg=fg guibg=bg

在你的配色方案中。由于分割是使用“|”绘制的字符,线将被打破而不是连续,这是不幸的。除非你能找到包含全高栏的字体(但请记住,扩展字符不能在命令行的选项中使用,但可以在命令窗口或 vimrc 中使用)。

如果您确实使用全高栏,您还需要确保

'linespace'
设置为
0
(在 Windows 上的 gvim 中默认为
1
)。


3
投票

Vim 有不同的字体样式选项,用于

hi
命令。

例如:

NONE, bold, underline, italic, reverse, undercurl..

根据您的需要,您可以通过以下方式获取当前 vertsplit 的突出显示:

:hi VertSplit

从你的截图来看,我猜你已经

gui(or term)=standout
尝试将其更改为
NONE

hi! VertSplit guifg=[yourFG] guibg=[YourBG] gui=NONE

或者如果你在终端中运行 vim:

hi! VertSplit ctermfg=[yourFG] ctermbg=[YourBG] term=NONE

这应该会给你一个更窄的分割线。

查看

:h hi
也可查看详细信息


0
投票

有更好的方法来做到这一点

-- Set splitright and splitbelow to avoid creating an additional split
vim.opt.splitright = true
vim.opt.splitbelow = true

-- Define a custom highlight group for the vertical split border
vim.cmd('highlight VertSplit cterm=NONE ctermfg=NONE ctermbg=NONE guifg=#888888 guibg=NONE')
© www.soinside.com 2019 - 2024. All rights reserved.