如何更改在终端模拟器中运行的 emacs23 的颜色设置?

发布于 2024-09-05 12:59:16 字数 1103 浏览 5 评论 0原文

我使用 xterm 并在 ~/.Xdefaults 中设置其外观:

XTerm*background:       paleTurquoise
XTerm*foreground:       black

我也使用 emacs,但在 ~/.emacs 中设置其外观不同:

(set-background-color "black")
(set-foreground-color "yellow")

我通常在终端中运行 emacs使用 emacs -nw 的模拟器,而不是创建单独的 X 窗口。由于某种原因,这对于 emacs23 不能正常工作;相反,emacs 保留了 xterm 窗口的淡青绿色背景。查看 emacs23 中的新增功能,我注意到:

** 在足够新的 xterm(比版本 242 更新)中运行时,Emacs 会询问 xterm 背景颜色是什么,并根据需要为深色背景设置相应的面(当前默认设置是考虑背景光) .

那么这是一个功能,而不是一个错误?无论如何,有什么方法可以告诉 emacs23 在控制台模式下运行时忽略 xterm 后台设置,并使用 ~/.emacs 中的设置吗?

我还要指出的是:

  • 它在单独的 X 窗口中运行的 emacs23 中运行良好(没有 -nw 选项)。
  • 在 emacs22 中运行良好;而且我不太确定是否需要使用 emacs23...
  • emacs23 -nw 中运行 Mx set-background-color 没有效果。
  • 这不仅仅是 xterm:例如,$TERM=cygwin 也存在同样的问题。

更新:最好的答案似乎是使用 -fg-bg 命令行选项...

I use xterm and set its appearance in ~/.Xdefaults:

XTerm*background:       paleTurquoise
XTerm*foreground:       black

I also use emacs, but set its appearance differently in ~/.emacs:

(set-background-color "black")
(set-foreground-color "yellow")

I usually run emacs within the terminal emulator with emacs -nw, rather than creating a separate X window. For some reason, this doesn't work properly for emacs23; instead, emacs retains the pale turquoise background of my xterm window. Looking at what's new in emacs23, I noted that:

** When running in a new enough xterm (newer than version 242), Emacs asks xterm what the background color is and it sets up faces accordingly for a dark background if needed (the current default is to consider the background light).

So it's a feature, not a bug? Anyway, is there some way that I can I tell emacs23 to ignore the xterm background settings when running in console mode, and use the settings in ~/.emacs instead?

I'll also note that:

  • It works fine in emacs23 running in a separate X window (without the -nw option).
  • It worked fine in emacs22; and I'm not really sure whether I need to use emacs23...
  • Running M-x set-background-color within emacs23 -nw has no effect.
  • It's not just xterm: the same problem exists with $TERM=cygwin, for example.

UPDATE: the best answer seems to be to use the -fg and -bg command-line options...

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

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

发布评论

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

评论(1

卖梦商人 2024-09-12 12:59:16

设置 TERM=xterm-256color 就是您所需要的。

Setting TERM=xterm-256color is what you need.

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