2012-04-03 19 views
6

abilito hl-mode in ambito globale con il seguente codice.come disabilitare la funzione hl-line nella modalità specificata

(global-hl-line-mode t) 

per disattivare la funzione hl-line in una modalità specificata. lo faccio con il seguente codice

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

ma disattiva la funzione hl-line per l'ambito globale.

come disattivare la funzione hl-line in una modalità specificata?

+0

possibile duplicato del [disattivare automaticamente un modo minore globale per un modo maggiore specifica ] (http://stackoverflow.com/questions/6837511/automatically-disable-a-global-minor-mode-for-a-specific-major-mode) – phils

risposta

9

Nella sezione Commentary nel file di origine sono presenti spesso informazioni e documentazione.

[...] 
;; 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. 
[...] 

Pertanto, è possibile inserire qualcosa di simile nel proprio .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

Questo non funziona per me. Ho provato quanto segue: '(add-hook 'term-mode-hook (lambda() (setq global-hl-line-mode nil)))'. Sto cercando di disattivare la funzione 'hi-line' quando sono in modalità' ansi-term'. Eventuali suggerimenti? – modulitos

+0

Forse 'setq-local' invece di' make-variable-buffer-local'? –

1

utilizzare hl-line-mode di global-hl-line-mode.

EDIT: Hai ragione. Questo non funziona.

Il commento dice che la modalità globale non è destinata a essere utilizzata. Lo prendo per significa che non è possibile disabilitarlo in modo selettivo una volta abilitato.

Abilito il hl-line-mode in hook in modalità principale dove mi serve.

+0

ho già provato in questo modo. ma "(hl-line-mode 0)" non può disattivare hl-line che si accendono con "(global-hl-line-mode t)" – luozengbin

+0

edited.zzzzzzzz –

0

scrivere la seguente riga nel file dotEmacs, e utilizzare F5 per attivare o disattivare la HL-line-mode

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

Problemi correlati