Dies ist wirklich eine Ansichtssache, aber ich habe immer festgestellt, dass es am hl-linebesten ist, einen etwas dunkleren Hintergrund als die Standardeinstellung zu haben.
Ich möchte die Syntaxhervorhebung beibehalten, die bei meinen Versuchen fehlgeschlagen ist.
Wenn Sie die Syntaxhervorhebung beibehalten möchten, stellen Sie sicher, dass das hl-lineGesichtsattribut :foregroundNull ist, und setzen Sie das :backgroundAttribut auf das gewünschte Attribut.
So sieht es für mich mit diesen Einstellungen aus:
(set-face-attribute 'default nil :background "gray15")
(set-face-attribute 'hl-line nil :foreground nil :background "gray5")

Dem Klang nach möchten Sie keine fest codierten Farben, da Sie die Themen ändern. Emacs können :backgrounddas hl-lineGesicht automatisch auf eine Farbe einstellen, die etwas dunkler als die aktuelle Standardeinstellung ist :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)
Dadurch wird der Hintergrund des Gesichts bei jeder Aktivierung auf eine Farbe eingestellt, die 10% dunkler als der Standardhintergrund ist global-hl-line-mode
global-hl-line-mode? In der Summe geben Sie die Frage bitte klarer an - sie hilft den Menschen, Ihnen zu helfen.