【问题标题】:emacs strips away all ansi color codes in shells -- AGAINemacs 去除了 shell 中的所有 ansi 颜色代码——再次
【发布时间】:2015-04-04 03:29:04
【问题描述】:

这似乎是重复的 emacs strips away all ansi color codes in shells 但事实并非如此!

不同之处在于我不能只看到任何 ansi-color,而且我什至看不到原始的转义颜色代码(关于所提到问题的对话和 cmets 应该存在)。

我在 OSX (10.10.2) 和 GNU EMACS(官方 dl:http://emacsformacosx.com/

以下是重现我的问题的简单步骤:

emacs -q 转到*scratch* 缓冲并执行:

(setq explicit-shell-file-name "bash")

(require 'ansi-color)

(ansi-color-for-comint-mode-on)

然后:

M-x shell

现在执行一些应该返回 ansi-colors 的 shell 命令。

就我而言,什么都没有!我花了好几个小时检查和尝试他所有关于 ansi-colors 的回答者——没有成功。以上只是最小的步骤。

谢谢大家帮助我。

p.s.:很有趣,如果我使用 M-x ansi-term 甚至 M-x eshell,它们都可以直接显示 ansi-colors!

【问题讨论】:

  • 您是在图形窗口中运行,还是在 Terminal.app 中运行?
  • 我已经在终端中对其进行了测试:Terminal.app 和 iTerm2 emacs -q 以及运行没有 .emacs.emacs.d 的 Emacs.app。顺便提一句。我的 bash 是 osx 附带的标准 /bin/bash:GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14) Copyright (C) 2007 Free Software Foundation, Inc.
  • 请注意:启动 emacs 的 bash 将 envir var $TERM 设置为 xterm-256color 。 shell 模式下的“shell”将此 var 设置为 dumb,这是 emacs 标准和预期的。
  • @Chris 关于目前的问题,请问关于 Terminal.app 的问题是什么?它在哪些方面与问题相关?
  • Emacs 作为一个独立的图形应用程序处理它自己的颜色。在终端内部,它受到终端提供的颜色和颜色深度的限制。我只是想消除导致您问题的原因。

标签: shell emacs ansi-colors


【解决方案1】:

感谢 Chris 为您提供报告和检查!问题分两步解决:

  1. 确实,将 $TERM 设置为 xterm-256color
  2. 使用 GNU ls --color,但不使用 MacOS 附带的 ls

【讨论】:

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