2012-04-03 16 views
6

habilito hl-mode en alcance global con el siguiente código.cómo desactivar la función hl-line en el modo especificado

(global-hl-line-mode t) 

para desactivar la función hl-line en un modo específico. Lo hago con el siguiente código.

(add-hook 'org-mode-hook (lambda() (global-hl-line-mode 0))) 

pero desactiva la función hl-line para alcance global.

cómo desactivar la función hl-line en un modo específico?

+0

posible duplicado de [desactivar automáticamente un modo menor global para un modo mayor específica ] (http://stackoverflow.com/questions/6837511/automatically-disable-a-global-minor-mode-for-a-specific-major-mode) – phils

Respuesta

9

A menudo hay información y documentación en la sección Commentary en el archivo de origen.

[...] 
;; You could make variable `global-hl-line-mode' buffer-local and set 
;; it to nil to avoid highlighting specific buffers, when the global 
;; mode is used. 
[...] 

Por lo tanto, puede poner algo como esto en su .emacs.

(global-hl-line-mode) 
(make-variable-buffer-local 'global-hl-line-mode) 
(add-hook 'some-mode-hook (lambda() (setq global-hl-line-mode nil))) 
... 
+0

Esto no funciona para mí. Intenté lo siguiente: '(add-hook 'term-mode-hook (lambda() (setq global-hl-line-mode nil)))'. Estoy intentando desactivar la función 'hi-line' cuando estoy en el modo' ansi-term'. ¿Alguna sugerencia? – modulitos

+0

¿Quizás 'setq-local' en lugar de' make-variable-buffer-local'? –

1

uso hl-line-mode insted de global-hl-line-mode.

EDITAR: Tiene razón. Esto no funciona

El comentario dice que el modo global no está destinado a ser utilizado. Lo llevo al significa que no se puede deshabilitar selectivamente una vez habilitado.

Habilito el hl-line-mode en los ganchos de modos principales donde lo necesito.

+0

ya lo intento de esa manera. pero "(hl-line-mode 0)" no puede apagar hl-line que se activa por "(global-hl-line-mode t)" – luozengbin

+0

edited.zzzzzzzz –

0

escribir la siguiente línea en el archivo de dotEmacs, y utilizar F5 para alternar la HL-line-mode

(global-set-key [f5] 'hl-line-mode)

Cuestiones relacionadas