我在Ubuntu 10.04桌面计算机上安装了GNU Emacs 23(程序包emacs23
),并在Ubuntu 10.04无头服务器上安装了程序包emacs23-nox
(未安装X)。两个安装都具有相同的~/.emacs
文件。我在两台计算机上都运行带有-nw
的Emacs。我没有在任何一台机器上安装python-mode
,因为我的理解是它包含在Emacs 23中。
在桌面计算机上,Python中的注释(以#
开头)以红色突出显示。在服务器上,注释以纯白文本显示,就像所有其他非突出显示的文本一样。有关为什么评论未在服务器(nox
)安装上正确突出显示的任何建议?
更新:这似乎是与终端相关的问题。我ssh
通过屏幕替换terminator
从byobu
进入服务器计算机。如果我使用TERM="xterm-256color" emacs
在服务器上运行emacs,则会突出显示注释,但所有其他颜色看起来都很奇怪。
更新:添加`export TERM =“xterm-256color”“解决了这个问题。现在语法高亮显示有非常奇怪的颜色:紫色紫色和浅棕色。我的绿色当前线高亮条现在是淡淡的黄色/绿色。评论以红色突出显示:)
更新:已解决。设置TERM="xterm-color"
会产生“正确”颜色,包括突出显示评论。服务器默认为TERM
的“screen-bce”值,但未突出显示评论。
更新:未解决。 byobu
为各种功能键提供键绑定,以便轻松创建新的屏幕会话并在它们之间切换。当TERM
设置为xterm-color
时,这些功能键不再有效。所以我想我只需要对Emacs中Python代码中没有突出显示的注释感到满意。
答案 0 :(得分: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应该为你做到这一点。
祝你好运!答案 1 :(得分:2)
对于我来说emacs -nw
从byobu
内TERM=xterm
TERM
生成语法高亮显示的正确颜色(python和bash中的注释都是红色而不仅仅是#)和功能键工作。注意我将.bashrc
设置为运行emacs的别名的一部分,而不是在alias emacs='TERM=xterm; emacs -nw'
中进行设置:
{{1}}
另见帖子:Terminal emacs colors only work with TERM=xterm-256color
答案 2 :(得分:1)
我刚刚添加了
(set-face-foreground 'font-lock-comment-face "red")
到我的.emacs