调整 shell 模式配色方案

发布于 2024-11-18 05:30:10 字数 367 浏览 1 评论 0原文

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

在此处输入图像描述

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

在此处输入图像描述

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

The color schemes in emacs shell mode appear as primary colors (high saturation) and look primitive, and some colors, for example, purple, do not appear:

enter image description here

I want to adjust the colors so that they use more intermediate colors and look more soft as in gnome-terminal:

enter image description here

How can I change the color schemes in shell mode? I couldn't find shell-mode related font assignments in emacs, and that is probably because the color is given by the shell and is different from other font assignmets in emacs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

羁拥 2024-11-25 05:30:10

当在 shell 模式下运行的程序发出 ANSI 转义字符以将显示颜色设置为洋红色时,Emacs 会拦截这些转义字符并使用确切的前景色“洋红色”创建彩色叠加层。因此,这里没有颜色主题交互,也没有需要寻找的特定于 shell 的自定义。

不过,拦截是由 ansi-color.el 中的函数完成的,看起来您可以自定义 ansi-color-names-vector,因此可以使用“PaleBlue”对于“蓝色”,可以使用 Mx 自定义 RET ansi-color-names-vector,或者尝试在 emacs 配置中添加类似以下内容:

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

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

When a program run inside shell-mode issues ANSI escape characters to set the display color to, say, magenta, Emacs intercepts those escape characters and creates a colored overlay using that exact foreground color "magenta". So there's no color theme interaction going on here, and no shell-specific customizations to look for.

The interception is made by the functions in ansi-color.el, though, and it looks like you could customize ansi-color-names-vector, so to use "PaleBlue" for "blue", either M-x customize RET ansi-color-names-vector, or try putting something like the following in your emacs config:

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

To see available color names, use M-x list-colors-display, or enter hex colors instead, e.g. "#ccccff".

不甘平庸 2024-11-25 05:30:10

一些 颜色主题 设计得在终端中看起来不错。如果它们都不适合,您可以使用其中一个作为您自己的主题的起点。我为 X/terminal 选择适当的主题,如下所示:

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

Some color-themes are designed to look good in the terminal. If none of them suit, you could use one a starting point for your own theme. I select the appropriate theme for X/terminal like this:

(if (eq (window-system) 'x)
    (color-theme-gray30)
    (color-theme-emacs-nw))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文