как отключить функцию hl-line в указанном режиме - PullRequest
6 голосов
/ 03 апреля 2012

я включаю режим hl в глобальной области видимости с помощью следующего кода.

(global-hl-line-mode t) 

, чтобы отключить функцию линии hl в указанном режиме.я делаю это с помощью следующего кода.

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

, но он отключает функцию hl-line для глобальной области видимости.

как отключить функцию hl-line в указанном режиме?

Ответы [ 3 ]

9 голосов
/ 03 апреля 2012

В разделе Commentary исходного файла часто содержится информация и документация.

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

Таким образом, вы можете поместить что-то подобное в ваш .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)))
...
1 голос
/ 03 апреля 2012

используйте hl-line-mode вместо global-hl-line-mode.

РЕДАКТИРОВАТЬ: Вы правы. Это не работает.

В комментарии говорится, что глобальный режим не предназначен для использования. Я беру это означает, что вы не можете выборочно отключить его после включения.

Я включаю hl-line-mode в ловушках основного режима там, где мне это нужно.

0 голосов
/ 04 апреля 2012

напишите следующую строку в вашем файле dotEmacs и используйте f5 для переключения режима hl-line-mode

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

...