Emacs颜色。为什么当前行是灰色的?Zenburn主题。

3

我在我的emacs24上安装了Prelude,我使用的是Ubuntu 12.04操作系统。

第一次使用时它完美地工作,但是之后每次使用都会出现问题。我的当前行字体颜色为灰色,因此很难看清我所写的内容。之前它是粗体形式,保留任何预留单词的颜色。

我该如何解决这个问题?

Gray on Cursor line

或者空白行有空格都是黄色的

我一直在尝试在以下目录中修复它: ~/.emacs.d/elpa/zenburn-theme-20130716.1457/zenburn-theme.el 文件,但我找不到解决方案... 我认为问题可能在这些行之间:

;;;;; hl-line-mode

`(hl-line-face ((,class (:background ,zenburn-bg-05)) (t :weight bold)))
`(hl-line ((,class (:background ,zenburn-bg-05)) ; old emacsen (t :weight bold)))

谢谢!


你能添加两张截图,这样我们就可以看到实际的问题吗? - Bozhidar Batsov
当然,@BozhidarBatsov。谢谢您的帮助。问题已更新。 - AAlvz
看起来你在终端中运行Emacs,但没有设置export TERM=xterm-256color。Zenburn通常看起来与你的截图完全不同 :-) - Bozhidar Batsov
@BozhidarBatsov 谢谢。我实际上是在终端中运行它。我在哪里设置“export”选项?..如果您想看,我还添加了一个答案。 - AAlvz
1
你需要将它添加到你的目录下的.bashrc文件中,然后重启shell。 - Bozhidar Batsov
2个回答

3
您可以更改背景和前景为任何您想要的颜色,或者完全关闭它。您可以添加粗体、下划线、上划线、斜体或任何您喜欢的样式。我的第一批项目之一就是将color-theme的设置放入我的.emacs文件中,自那以后我就没有使用过特定的颜色主题。当然,您还需要打开您的.emacs或init文件,以查看是否存在与您正在使用的颜色主题相冲突的设置。
(global-hl-line-mode 1)  ;; highlight current line -- see hl-line.el

(custom-set-faces
  '(highlight ((t (:background "grey80" :foreground "black" :bold t)))) ;; highlight current line
)

嗨,lawlist。我已经尝试了你的解决方案。 foreground 部分是字母的颜色,对吗?... 我如何使其保持当前颜色但加粗呢?而不是使用 "black"。 - AAlvz
代码中的部分 :bold t 表示加粗。foreground 是字母颜色。如果你想让背景消失,那么就删除 :background "grey80"foreground 可以设置为与你的常规前景字体相同的颜色,这可能是默认值,也可能根据你的设置针对特定模式进行了设置。 - lawlist
使用:foreground nil就能解决所有问题。谢谢 =) - AAlvz

3

重要提示:

将以下内容添加到.bashrc文件中:

export TERM=xterm-256color

我发现了对我来说完美的配置。以下是配置内容:

;;;;; hl-line-mode                                                              

   (custom-set-faces
  '(highlight ((t (:background "grey20" :foreground nil :bold t)))) ;; highligh\
t current line                                                                  
)

这样你就可以将保留字的颜色全部设置为加粗,并为当前行设置灰色背景。一切都会变得美好=) enter image description here enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接