【问题标题】:Different background color in Emacs after 80 columns?80列后Emacs中的不同背景颜色?
【发布时间】:2015-04-30 16:40:37
【问题描述】:

在 Emacs 中,如何在 80 列后设置不同的背景颜色?

这样如果窗口宽度超过 80 列,80 之后的所有列都会有不同的背景颜色。

【问题讨论】:

  • This EmacsWiki 页面提到了几种突出显示限制列等的方法。没有一个直接响应您的请求(背景与限制列不同),但您可能会发现其中一些有用。
  • 如果您没有找到现成的解决方案,迭代缓冲区中的行并为超过限制的列添加背景颜色的叠加层应该非常简单。
  • 如果这还没有被发明出来,那么fill-column-indicator 很可能是修改的候选者,当垂直行末尾的列大于填充列时,添加一个带有颜色的覆盖。 github.com/alpaker/Fill-Column-Indicator 另请参阅内置的 whitespace-mode 以了解它可以提供什么。
  • @lawlist 我不推荐fill-column-indicator,因为它带来的问题多于好处。
  • @lawlist 我明白了。很抱歉对于这个误会。但是 OP 也没有询问“一行”——根据我的理解,OP 要求所有行的背景颜色不同。

标签: emacs overlay highlight


【解决方案1】:

我认为您可以使用 whitespace-mode 来做到这一点,然后适当地自定义 whitespace-style 以仅进行 80 列突出显示,然后自定义用于设置背景颜色的面部。

【讨论】:

  • 此技术仅设置第 80 列之后的字符的背景颜色。如果第 80 列之后没有字符,则视线的其余部分不会有不同的颜色。如果第 80 列之后有 1 个字符,则只有它的颜色会不同,而视线的其余部分不会。题目问的是如何在某个列号之后为整个窗口设置背景色。
  • 此外,此技术将使 80 列之后的任何字符的前景色相同。当在使用不同前景色来区分事物的缓冲区中(例如,将代码 cmets 与变量名与控制语句区分开来)时,它们在第 80 列之后看起来都是一样的。如果只能更改背景色,这个不幸的细节会避免。
猜你喜欢
  • 1970-01-01
  • 2011-03-18
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 2013-09-23
  • 2016-07-13
  • 1970-01-01
相关资源
最近更新 更多