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

mik*_*996 17 vim gvim

一个小而视觉上令人愉悦的功能,并稍微增加了可用性,我想让 Vim 为活动窗口使用不同的背景颜色。

这是我所追求的草图:

在此处输入图片说明

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

t0d*_*d0r 9

Heptite,谢谢你的想法。

我只是替换 WinEnter 和 WinLeave autocmd's 来添加/删除每行前面的行号:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END
Run Code Online (Sandbox Code Playgroud)

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


Hep*_*ite 3

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

然而,这是一个真正丑陋、混乱的例子:

augroup BgHighlight
    autocmd!
    突出显示 ActiveWindow guibg=浅蓝色
    autocmd WinEnter * 调用 matchadd('ActiveWindow', '.*', 10, 1682)
    autocmd WinLeave * 调用 matchdelete(1682)
augroup END

doautocmd BgHighlight WinEnter -

由于这只是一个示例,因此您必须对其进行修改以满足您的个人需求,例如添加 ctermbg=... 突出显示以及 guibg=...

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