【问题标题】:Why aren't Syntax Highlighting and Line Highlighting getting along in Emacs 24?为什么 Emacs 24 中的语法高亮和行高亮不兼容?
【发布时间】:2012-08-20 15:03:21
【问题描述】:

我遇到的问题与此处描述的类似:

Disable hl-line in Emacs when using Emacs Starter Kit?

我正在使用 Emacs 24 for OS X (http://emacsformacosx.com/),使用 -nw 标志调用以在终端中运行它(这样我就可以拥有真正的全屏)。我使用 Emacs Starter Kit (https://github.com/technomancy/emacs-starter-kit) 开始了我的定制。我添加的大部分内容都运行良好。

但是,我注意到,当突出显示所选行时时,我的语法突出显示不显示(所有文本是相同的颜色)。我喜欢line-highlight 效果,但不想放弃语法高亮。有没有办法做到这一点(特别是在终端)?

我的语法/背景颜色是使用 custom-theme 完成的。

感谢您的帮助。

编辑:我正在使用 Lion。

【问题讨论】:

  • 您可以使用 Homebrew 获得“真正的全屏”。当您不必这样做时,在控制台中使用 Emacs 是很荒谬的。
  • 真正的全屏 Emacs 24?我对 Homebrew 构建的第一次尝试并没有很好地结束 IIRC。
  • 我已经在 Google 上广泛搜索了这方面的内容,并且在网络上筛选关于 Emacs 的大量知识库(其中大部分已经过时)可不是一件小事!
  • IIRC --with-cocao 很有用。我不再使用 NS 版本,所以我不能肯定。

标签: emacs lisp emacs24


【解决方案1】:

嗯,我认为您必须使用 M-x customize-face RET hl-line 自定义您的 hl-line 面孔。然后确保它没有其他属性(甚至没有inherit 属性)并且它定义的只是背景颜色。突出显示的行应该用该背景颜色突出显示,但让现有的语法突出显示出来。

另一种方法是使用https://github.com/sellout/emacs-color-theme-solarized/ 中的“solarized”主题。这些已经解决了这个问题。

编辑:实际上您可以保留inherit 属性,只需确保该 face 不会覆盖您想要作为语法高亮显示的属性。

【讨论】:

  • 我认为这将引导我找到解决方案,谢谢。现在我只需要弄清楚所有这些参数——我要去的文档!
【解决方案2】:

因为我们不知道您使用的是什么版本的 OS X,所以这里只是在黑暗中刺探。在 Lion 之前,Terminal.app 不支持 256 色,所以:

  1. 它在 Emacs.app 中运行良好吗?
  2. 如果是这样,您运行的是 Lion 之前的 OS X 版本吗?
    • 如果是并且您不想(或不能)升级您的操作系统:尝试使用iTerm 2 作为您的终端,然后看看 emacs 是如何工作的。
    • 如果不是:也许其他人可以提供帮助。

【讨论】:

  • 您好,感谢您的回答。我正在使用 Lion(我已更新问题以反映这一点)并且我正在使用 iTerm2,终端类型设置为 xterm-256color。除非突出显示该行,否则语法突出显示/颜色工作正常。
猜你喜欢
  • 2010-10-26
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
相关资源
最近更新 更多