问题 在Emacs或Vim中更改活动缓冲区/窗格的背景颜色


我通常使用Vim和Emacs在30英寸显示器上全屏工作,这意味着我倾向于有很多分裂。活动窗格的模式行改变了Vim和Emacs中的背景,但有时这不是一个易于查看的活动窗格指示器。

有没有办法改变活动窗格的背景颜色,以便我一眼就能看到我目前的分裂?

无论是Vim还是Emacs解决方案都可以。


13140
2017-10-13 20:34


起源

对于vim,请参阅 如何仅为Vim的活动窗口设置背景颜色? 为一个 .vimrc片段,仅为活动窗口启用行号。基于此,我用 relativenumber 在活动窗口中(对于Vim 7.3+):augroup BgHighlight autocmd! autocmd WinEnter * set relativenumber autocmd WinLeave * set norelati - Ed Brannin
自2013年起可能。请参阅下面的答案。 - Joe Corneli


答案:


如何自定义活动模式行的颜色?

M-x customize-face RET mode-line 

将背景更改为“红色”,将前景更改为“白色”,除了活动缓冲区外,您将无法关注其他任何内容:)


7
2017-10-14 07:44



(set-face-foreground 'mode-line "white") (set-face-background 'mode-line "red") - Adam Schmideg


这个问题已经过去了三年。现在有一种允许这样做的模式,请看一下 颜色主题缓冲 - 本地


2
2018-02-06 14:28





Vim与Emacs没有区别,因为在整个应用程序窗口中无法更改实际背景颜色,Vim中的所有“窗口”必须具有相同的背景。然而,正如dash-tom-bang所说,状态行可用于为哪个窗口激活提供一些视觉提示。这是通过使用 highlight 命令设置 StatusLine 和 StatusLineNC 突出显示组具有不同的颜色,活动窗口将具有颜色为的状态行 StatusLine 突出显示,所有其他窗口将有'No Cursor' StatusLineNC 突出。

还有txtfmt插件,它(虽然有一些误导性的截图)并没有真正让你拥有不同的背景,但是为窗口添加一些区别是有用的,有点笨拙,要求你在文本中添加标记字符: http://www.txtfmt.webs.com/


1
2017-10-14 07:11





M-X 包安装 RET 自动调光,其他缓冲器 RET

“视觉上使非流动缓冲区不那么突出”

在这里回购: https://github.com/mina86/auto-dim-other-buffers.el


1
2017-08-27 18:06





对于Emacs,你不能这样做。您只能更改框架的背景。

查看相关问题:

一种选择可能是使用a 平铺窗口管理器,并使用一堆不同的Emacs帧。然后你就可以使用了 FrameMove 包装可以轻松地在框架之间移动。


0
2017-10-13 20:43



平铺窗口管理器肯定会是一种方式,但我在OS X上:/ - thedz
@thedz您可以随时手动填充它们。 :) - Trey Jackson


Vim中有一些配色方案可以使状态行真正弹出。这不完全是你想要的,但你可能能够使它工作。在带有大量分割(和文件类型)的窗口中使用内置的colorschemes进行播放,您可以看到效果。我记得当时由于状态线颜色的变化,从反色到活动窗口中带有亮黄色文字的东西,特别是上帝很可怕。我整体讨厌它,但其中一天会将这样的东西纳入我自己的颜色方案中。


0
2017-10-13 22:01