2010-08-23 9 views
16

Este problema está acabando con mi productividad.¿Deshabilitar hl-line en Emacs cuando se usa Emacs Starter Kit?

El kit de inicio de Emacs habilita automáticamente hl-line, que resalta la línea actual. No puedo ver el resaltado en la línea actual.

He intentado configurar (global-hl-line-mode nil) y (hl-line-mode nil) en todo el mundo y se ha agregado a los ganchos de modo como clojure-mode-hook, pero sigue apareciendo.

¿Qué elisp necesito para deshabilitar esta característica?

+1

Tenga en cuenta que '(hl-line-mode nil)' es un alternador, por lo que no es muy robusto. '(hl-line-mode 0)' siempre apaga el modo (pero no evita que otra cosa lo vuelva a encender más tarde, por supuesto). – Gilles

Respuesta

9

hl-line-modo está activado por la siguiente línea en el paquete de inicio-defuns.el:

(add-hook 'coding-hook 'turn-on-hl-line-mode) 

Puede comentar esa línea, o si usted prefiere no tocar el motor de arranque archivos del kit, se puede poner lo siguiente en su archivo de inicio personal en ~/.emacs.d/{nombre de usuario} .el:

(remove-hook 'coding-hook 'turn-on-hl-line-mode) 
1

Intente colocar (global-hl-line-mode nil) en la parte inferior de su .emacs para que ningún otro comando lo sobrescriba.

1

No creo que su problema haya venido de ESK, no habilita hl-line-mode. Tendría que tener una línea parecida a (global-hl-line-mode t) en algún lado si fuera cierto. Sugeriría simplemente buscar esa línea en tu configuración y eliminarla si la encuentras. También hay otros modos de resaltado. ESK instala automáticamente el valor inactivo de ELPA, tal vez esto es lo que quiere decir. Se puede quitar mediante la supresión de la entrada es de esta pieza de código en paquete de inicio-elpa.el:

(defvar starter-kit-packages (list 'idle-highlight 
            'ruby-mode 
            'inf-ruby 
            'css-mode 
            'yaml-mode 
            'find-file-in-project 
            'magit 
            'gist) 

También debe eliminar el paquete descargado de la carpeta del ELPA y reinicie Emacs.

1

Si utiliza ESK, el mejor lugar para poner sus propias personalizaciones no es .emacs sino .emacs.d/{username} .el o .emacs.d/{username}/{username} .el.

18

en kit de iniciación 2 el gancho correspondiente para eliminar es:

(remove-hook 'prog-mode-hook 'esk-turn-on-hl-line-mode) 

Deberá agregarlo a su propia configuración después de que se haya inicializado el kit de inicio.

4

sé que esto es una cuestión de edad, pero recientemente he tenido el mismo problema (usando emacs 24) y se encontró que también se puede resolver simplemente mediante la personalización de la "HL-line" cara:

  1. Do "Mx customize-face" e ingrese "hl-line".
  2. Personaliza a tu gusto y "guardar para sesiones futuras".

Si desactiva todos los atributos, efectivamente desactiva la función, al menos desde el punto de vista del usuario. Para mí, convertir el resaltado de color y simplemente ajustar "Peso" a "pesado" transformó hl-line de una molestia a una característica discreta y moderadamente útil.

+0

utilicé esta solutoína, cambié de modo hl para ajustar mi línea actual y no cambié el color de fondo o de fondo, eliminé la herencia, ahora es ligeramente útil/agradable. – PPPaul

0

Ha preguntado cómo desactivar hl-line-mode, pero ha dicho que quiere hacerlo porque hl-line-mode oscurece el resaltado de sintaxis normal que prefiere ver en su lugar. Bueno, ¿y si te dijera que es posible tener tanto la línea resaltada como el resaltado de sintaxis?Prueba esto:

;; Change the :background setting to a value that is only very subtly 
;; lighter than the default bg color. 
(set-face-attribute 'hl-line nil 
        :background "#3d4753" 
        :foreground nil 
        :inherit t) 

El resultado final es una línea resaltada que tiene un efecto de relieve muy bien sutil en segundo plano y mantiene toda su sintaxis valiosa destacando presente en el primer plano. Si elige cuidadosamente el color de fondo, no tendrá ningún problema con los choques de legibilidad de los colores fg/bg (es decir, si elige un color de línea resaltado altamente contrastado, los colores de resaltado de la sintaxis entrarán en conflicto y serán difíciles de leer, así que al elegir un color que sea muy sutilmente diferente, aún puede verlo sin tener que preocuparse por los colores fg que chocan).

Cuestiones relacionadas