【发布时间】: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