Come definire una buona faccia di evidenziazione


9

Mi piacerebbe usare global-hl-line-mode, ma alcuni dei miei temi mancano di una buona faccia di evidenziazione. C'è un modo generale per definirne uno (che non è un colore inverso)? Vorrei mantenere l'evidenziazione della sintassi, che si è interrotta nei miei tentativi.


Cosa intendi esattamente con "modo di definire"? Stai chiedendo suggerimenti per l'aspetto? A proposito di come definire un viso che dà un determinato aspetto? A proposito di come fare in modo che la definizione di un viso sostituisca l'effetto delle definizioni di un tema? Hai provato a personalizzare il viso usato da global-hl-line-mode? In breve, si prega di specificare la domanda in modo più chiaro: aiuterà le persone ad aiutarti.
Estratto il

Risposte:


17

Questa è davvero una questione di opinione, ma ho sempre scoperto che è meglio fare hl-lineuno sfondo leggermente più scuro rispetto al default.

Vorrei mantenere l'evidenziazione della sintassi, che si è interrotta nei miei tentativi.

Se si desidera mantenere l'evidenziazione della sintassi, assicurarsi che hl-linel' :foregroundattributo di face sia nullo, quindi impostare l' :backgroundattributo su ciò che si desidera.

Ecco come appare per me con queste impostazioni:

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

inserisci qui la descrizione dell'immagine

A quanto pare, non vuoi colori con codice fisso perché cambierai temi. Puoi avere emacs che imposta automaticamente :backgroundla hl-linefaccia su un colore leggermente più scuro rispetto all'attuale default :backgroundcome questo:

(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)

Questo imposterà lo sfondo del viso su un colore più scuro del 10% rispetto allo sfondo predefinito ogni volta che lo abiliti global-hl-line-mode

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.