gpt4 book ai didi

emacs shell 命令输出不显示 ANSI 颜色,但显示代码

转载 作者:行者123 更新时间:2023-12-04 09:33:17 24 4
gpt4 key购买 nike

当我做M-!在我的 emacs 21.4 中,ANSI 代码是文字的。例如:ls --color

^[[0m^[[0m05420273.pdf^[[0m
^[[0m100829_Baño1.pdf^[[0m

有没有办法使用颜色和UTF8?

同样的问题是 answered in SO before但结果并不完全令人满意(给出的解决方案是打开一个 shell 模式)。我知道如何在 shell 中添加颜色。我只想知道我怎么能和M有颜色! (shell-command) 或者根本不可能。

当您只想快速显示某些内容而不想移动到此缓冲区并且希望它在没有 C-x-k 的情况下自动消失时,shell 模式太具有侵入性。显然,在某些情况下,shell 缓冲区更方便,但多亏了另一个问题,我发现了如何为 shell 模式添加颜色。

[注意] emacs 使用中
2008 年 6 月 15 日在 builder6.centos.org 上的 GNU Emacs 21.4.1(x86_64-redhat-linux-gnu,X 工具包,Xaw3d 滚动条)

最佳答案

ansi-color.el包含处理 ANSI 颜色代码的函数。不幸的是,并没有一个很好的方法可以将它连接到 shell-command 中。 .这是一个黑客,但它的工作原理:

(require 'ansi-color)

(defadvice display-message-or-buffer (before ansi-color activate)
"Process ANSI color codes in shell output."
(let ((buf (ad-get-arg 0)))
(and (bufferp buf)
(string= (buffer-name buf) "*Shell Command Output*")
(with-current-buffer buf
(ansi-color-apply-on-region (point-min) (point-max))))))

关于emacs shell 命令输出不显示 ANSI 颜色,但显示代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5819719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com