【问题标题】:emacs strips away all ansi color codes in shellsemacs 去除 shell 中的所有 ansi 颜色代码
【发布时间】:2012-03-03 23:13:06
【问题描述】:

我在 OS X 上使用 emacs 24 并且有一个奇怪的问题,我看不到任何颜色代码。 Emacs 似乎只是忽略了它们。我的动机是看到 C++ 项目的 cmake、llvm 和 googletest 框架的彩色输出。我想在编译模式下查看颜色,但是修复 comint 或 shell 模式的显示可能就足够了。

我的问题与许多其他问题的不同之处在于,我既看不到原始的 ansi 颜色序列,也看不到它们应该产生的颜色。似乎代码只是从输出中剥离出来的,但我不知道在哪里。

我尝试了一些显而易见的事情,比如

  • 需要'ansi-color
  • 开启ansi-color-for-comint-mode
  • 尝试在 shell、eshell、multi-term、ansi-term 中生成任何 ansi-colored 输出均失败
  • 将我的 TERM 设置为各种设置,包括 xtermxterm-colorxterm-256color

一切都无济于事。

编辑:

我的emacs配置分为我的personal settingsfork的emacs前奏,其中我修改了一些小设置,主要是添加包

【问题讨论】:

  • 有一个similar question
  • @syohex:不,它被问题中的“this is different from”条款所涵盖!
  • 从您的屏幕截图中看,就像 echo 的输出 是彩色的,可能是常规的 compile-mode 突出显示。
  • 最后一行作为编译模式的常规突出显示的一部分被着色,但这不是我期望从 ansi 代码中获得的蓝色/粗体组合。
  • 我是 Emacs Prelude 的作者,那里没有任何设置可以去除颜色。我刚刚尝试了 shell-mode 和 ansi-term 并且那里的输出颜色很好。我会进一步调查。

标签: emacs ansi-colors


【解决方案1】:

原来问题是zenburn-theme1.2引起的。 ansi-color-names-vector 存在一个错误,该错误已在 1.3 版(刚刚发布)中修复。如果您遇到类似问题,请确保升级您的 zenburn 版本。

【讨论】:

    【解决方案2】:

    我可以肯定地说,仅使用(ansi-color-for-comint-mode-on) 对我来说效果很好。 FWIW 你可以浏览我的 emacs 配置,但它相当大:)

    https://github.com/aufflick/emacs.d

    【讨论】:

      猜你喜欢
      • 2015-04-04
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多