如何仅为Vim的活动窗口设置背景颜色?


16

我希望Vim为活动窗口使用不同的背景色,这是一个小巧但视觉上令人愉悦的功能,并且稍微增加了可用性。

这是我所追求的素描:

在此处输入图片说明

通常,该vim的所有背景都为黑色,但是如果仅活动窗口具有自己的颜色以突出用户的注意力。仅突出显示状态栏是不够的!

Answers:


8

赫伯特,谢谢你的主意。

我只需替换WinEnter和WinLeave autocmd即可在每行前面添加/删除行号:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

现在,跟踪哪个窗口处于活动状态更加时尚。


这很酷。太糟糕了,我不太喜欢行号,所以太不美观了。
nperson325681 2011年

3

控制默认背景颜色的突出显示组为“ Normal”和“ NonText”。不幸的是,这些是“全局”突出显示,不能在每个窗口的基础上进行“本地化”。

但是,这是一个非常丑陋的示例:

augroup BgHighlight
    autocmd!
    高亮显示ActiveWindow guibg =
    lightblue autocmd WinEnter *调用matchadd('ActiveWindow','。*',
    10,1682 )autocmd WinLeave *调用matchdelete(1682)
augroup END

doautocmd BgHighlight WinEnter-

由于这只是一个示例,因此您必须对其进行修改以适合您的个人需求,例如添加ctermbg = ...高亮显示和guibg = ...

缺点是,这只会突出显示文件中现有文本的背景,而不突出整个行/窗口。(就像我说的那样,丑陋而笨拙。)


思路不错,但是模式.*只匹配文件的文本;其余的一切都没有。另外,我只能在具有ctermbg属性的终端中使用它。很奇怪...
nperson325681 2010年

抱歉,我的回答应该更加清楚。我已经编辑了。
Heptite 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.