调整 shell 模式配色方案
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:
I want to adjust the colors so that they use more intermediate colors and look more soft as in gnome-terminal:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当在 shell 模式下运行的程序发出 ANSI 转义字符以将显示颜色设置为洋红色时,Emacs 会拦截这些转义字符并使用确切的前景色“洋红色”创建彩色叠加层。因此,这里没有颜色主题交互,也没有需要寻找的特定于 shell 的自定义。
不过,拦截是由
ansi-color.el
中的函数完成的,看起来您可以自定义ansi-color-names-vector
,因此可以使用“PaleBlue”对于“蓝色”,可以使用Mx 自定义 RET ansi-color-names-vector
,或者尝试在 emacs 配置中添加类似以下内容:要查看可用的颜色名称,请使用
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 customizeansi-color-names-vector
, so to use "PaleBlue" for "blue", eitherM-x customize RET ansi-color-names-vector
, or try putting something like the following in your emacs config:To see available color names, use
M-x list-colors-display
, or enter hex colors instead, e.g. "#ccccff".一些 颜色主题 设计得在终端中看起来不错。如果它们都不适合,您可以使用其中一个作为您自己的主题的起点。我为 X/terminal 选择适当的主题,如下所示:
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: