7

emacs23在 Ubuntu 10.04 台式机上安装了 GNU Emacs 23(包),并emacs23-nox在 Ubuntu 10.04 无头服务器(未安装 X)上安装了包。两个安装具有相同的~/.emacs文件。-nw我在两台计算机上都运行 Emacs 。我没有python-mode在任何一台机器上安装,因为我的理解是它包含在 Emacs 23 中。

在台式机上,Python 中的注释(以 开头#)以红色突出显示。在服务器上,评论以纯白色文本显示,就像所有其他未突出显示的文本一样。nox关于为什么在服务器 ( ) 安装 上未正确突出显示注释的任何建议?

更新:这似乎是与终端相关的问题。我通过屏幕更换ssh进入服务器机器。如果我在服务器上使用 运行 emacs ,则注释会突出显示,但所有其他颜色看起来都很奇怪。 terminatorbyobuTERM="xterm-256color" emacs

更新:添加 `export TERM="xterm-256color" “解决”了这个问题。语法高亮现在有非常奇怪的颜色:紫丁香和浅棕色。我的绿色当前行高亮条现在是浅黄色/绿色。评论以红色突出显示:)

更新:已解决。设置TERM="xterm-color"会产生“正确”的颜色,包括注释的突出显示。服务器默认为“screen-bce”的值,TERM没有突出显示评论。

更新:未解决。 byobu为各种功能键提供键绑定,以轻松创建新的屏幕会话并在它们之间切换。当TERM设置为 时xterm-color,这些功能键不再起作用。所以我想我只需要对 Emacs 中 Python 代码中未突出显示的注释感到满意。

4

3 回答 3

2

对我来说,emacs -nw从内部运行byobuTERM=xterm产生了正确的语法高亮颜色(python 和 bash 中的注释都是红色的,而不仅仅是 #),并且功能键有效。请注意,我将其设置TERM为运行 emacs 的别名的一部分,而不是通常将其设置为.bashrc

alias emacs='TERM=xterm; emacs -nw'

另请参阅这篇文章:终端 emacs 颜色仅适用于 TERM=xterm-256color

于 2012-04-11T09:46:42.743 回答
2

我没有安装您正在使用的程序来测试它,但我确实注意到在 screen-bce 和 xterm-color 之间定义功能键的方式存在一些差异。您可以尝试使用以下步骤将设置从 screen-bce 复制到 xterm-color。

使用 infocmp 程序,您可以查看两个 TERM 设置的 terminfo 设置之间的差异:

infocmp -d screen-bce xterm-color

您可以使用 infocmp 将 terminfo 文件反编译为其源并对其进行更改以尝试模仿其他终端的行为。首先解码 xterm-color terminfo 文件。

infocmp xterm-color > xterm-color.src

编辑 xterm-color.src 并修改 kf1 到 kf19 字段的定义以匹配 screen-bce 的值。使用 infocmp 查看 screen-bce 的定义。

infocmp screen-bce

最后使用 tic 程序编译。

tic xterm-color.src

如果您以非 root 用户身份运行它,它会将编译后的 terminfo 文件放入 $HOME/.terminfo 目录。在我的系统上,Ubuntu 似乎自动选择了这个。当您满意时,您也可以将它安装到标准的 /usr/share/terminfo 中。以 root 身份运行 tic 应该会为您执行此操作。

祝你好运!

于 2011-03-13T02:26:43.733 回答
1

我刚刚添加

(set-face-foreground 'font-lock-comment-face "red")

到我的 .emacs

于 2014-06-14T19:23:49.923 回答