Як визначити добре обличчя обличчя


9

Мені хотілося б користуватися global-hl-line-mode, але деякі мої теми не мають гарного обличчя. Чи є загальний спосіб визначити його (це не є зворотним кольором)? Я хотів би зберегти підсвічування синтаксису, яка зламалася в моїх спробах.


Що саме ви маєте на увазі під "способом визначення"? Ви питаєте про пропозиції щодо появи? Про те, як визначити обличчя, яке надає заданий вигляд? Про те, як зробити визначення обличчя заміщенням ефекту визначення обличчя теми? Ви спробували налаштувати обличчя, яким користуються global-hl-line-mode? Підсумовуючи, уточнюйте питання чіткіше - це допоможе людям допомогти вам.
Дрю

Відповіді:


17

Це дійсно питання думки, але я завжди вважав, що hl-lineнайкраще підходить типовий фон, ніж за замовчуванням.

Я хотів би зберегти підсвічування синтаксису, яка зламалася в моїх спробах.

Якщо ви хочете зберегти підсвічування синтаксису, переконайтеся, що атрибут hl-lineобличчя :foregroundє нульовим, а потім встановіть :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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.