如何定义一个好的高光脸


9

我想使用global-hl-line-mode,但是我的某些主题缺少醒目的面孔。有没有一种通用的定义方法(不是反色的)?我想保持语法突出显示,这在我的尝试中是无效的。


您所说的“定义方式”到底是什么意思?您是否在询问有关外观的建议?关于如何定义给定外观的脸?关于如何使面部定义取代主题的面部定义的效果?您是否尝试过自定义使用的面孔global-hl-line-mode?总而言之,请更清楚地说明问题-它将帮助人们帮助您。
提请

Answers:


17

这确实是一个见解,但我始终发现,使hl-line背景色比默认背景色稍暗是最好的。

我想保持语法突出显示,这在我的尝试中是无效的。

如果要保持语法突出显示,请确保hl-lineface的:foreground属性为nil,然后将该:background属性设置为所需的属性。

这些设置对我来说是什么样子:

(set-face-attribute 'default nil :background "gray15")
(set-face-attribute 'hl-line nil :foreground nil :background "gray5")

在此处输入图片说明

从声音上看,您不需要硬编码的颜色,因为您将更改主题。你可以有Emacs的自动设置:background的的hl-line脸一个颜色比当前的默认稍深:background是这样的:

(require 'color)

(defun set-hl-line-color-based-on-theme ()
  "Sets the hl-line face to have no foregorund and a background
    that is 10% darker than the default face's background."
  (set-face-attribute 'hl-line nil
                      :foreground nil
                      :background (color-darken-name (face-background 'default) 10)))

(add-hook 'global-hl-line-mode-hook 'set-hl-line-color-based-on-theme)

启用后,这会将面孔的背景颜色设置为比默认背景深10%的颜色 global-hl-line-mode

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.