【问题标题】:Adjusting shell mode color schemes调整 shell 模式配色方案
【发布时间】:2011-09-26 20:04:40
【问题描述】:

emacs shell 模式下的配色方案显示为原色(高饱和度)并且看起来很原始,并且某些颜色(例如紫色)不会出现:

我想调整颜色,使它们使用更多的中间颜色,并且看起来更柔和,就像在 gnome-terminal 中一样:

如何在 shell 模式下更改配色方案?我在 emacs 中找不到与 shell 模式相关的字体分配,这可能是因为颜色是由 shell 给出的,并且与 emacs 中的其他字体分配不同。

【问题讨论】:

    标签: shell emacs colors themes


    【解决方案1】:

    一些color-themes 被设计为在终端中看起来不错。如果它们都不适合,您可以使用一个作为您自己主题的起点。我像这样为 X/terminal 选择合适的主题:

    (if (eq (window-system) 'x)
        (color-theme-gray30)
        (color-theme-emacs-nw))
    

    【讨论】:

    • 我认为您正在考虑在终端中运行 emacs。这不是我要问的。我在 emacs 中运行一个终端。
    【解决方案2】:

    当在 shell 模式下运行的程序发出 ANSI 转义字符以将显示颜色设置为例如洋红色时,Emacs 会截取这些转义字符并使用该前景色“洋红色”创建一个彩色叠加层。所以这里没有颜色主题交互,也没有特定于 shell 的自定义项。

    不过,拦截是由ansi-color.el 中的函数进行的,看起来您可以自定义ansi-color-names-vector,因此将“PaleBlue”用于“蓝色”,M-x customize RET ansi-color-names-vector,或者尝试放置类似在您的 emacs 配置中执行以下操作:

    (setq ansi-color-names-vector
      ["black" "red" "green" "yellow" "PaleBlue" "magenta" "cyan" "white"])
    

    要查看可用的颜色名称,请使用M-x list-colors-display,或输入十六进制颜色,例如“#ccccff”。

    【讨论】:

    • 谢谢。这行得通。解决了一个困扰我很久的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 2010-12-17
    • 2015-04-09
    • 1970-01-01
    • 2019-04-22
    • 2010-12-28
    • 2012-02-12
    相关资源
    最近更新 更多