如何为 dired 启用 hl-line-mode?
How to enable hl-line-mode for dired?
我正在尝试为 dired 模式启用 hl-line-mode,但它不起作用。启用 global-hl-mode 有效,但它是每个缓冲区,而不仅仅是我不想要的缓冲区。
(defun hl-mode-for-dired ()
(setq hl-line-mode 1)
)
(add-hook 'dired-mode-hook 'hl-mode-for-dired)
如果我尝试执行 elisp,我会在我的 emacs 日志中得到这个错误输出。另外一个问题是为什么错误输出是那样的乱码?
hl-mode-for-dired diredp-nb-marked-in-mode-name #[nil "ÁÀ!ÂÃÄ!Ä "
[font-lock-defaults make-local-variable (... t nil nil beginning-of-line)
fboundp font-lock-refresh-defaults] 2] #[nil "ÆÇ\" È=ÉÇÊ#ÆË\"$
È=*ÉËÌ#)ÍÎÏÐÑ!QAA²AA² AA²ÉÒ Ó\"Ô#ÉÒÓ\"Õ#ÉÒÓ
\"Ö#," [dired-mode-map now bdjc bdj sep map lookup-key "J"
undefined define-key bmkp-dired-jump "
" ...] 6] #[nil "ÁÀ!Â" [bookmark-make-record-function make-local-variable
bmkp-make-dired-record] 2] dired-extra-startup)
这就是您所需要的:
(add-hook 'dired-after-readin-hook 'hl-line-mode)
hl-line-mode
是一个 local 挂钩。 global-hl-line-mode
是一个 全局 挂钩。您只希望它用于 Dired 缓冲区,这意味着您需要 hl-line-mode
.
哦,用这个把它关掉:
(remove-hook 'dired-after-readin-hook 'hl-line-mode)
我正在尝试为 dired 模式启用 hl-line-mode,但它不起作用。启用 global-hl-mode 有效,但它是每个缓冲区,而不仅仅是我不想要的缓冲区。
(defun hl-mode-for-dired ()
(setq hl-line-mode 1)
)
(add-hook 'dired-mode-hook 'hl-mode-for-dired)
如果我尝试执行 elisp,我会在我的 emacs 日志中得到这个错误输出。另外一个问题是为什么错误输出是那样的乱码?
hl-mode-for-dired diredp-nb-marked-in-mode-name #[nil "ÁÀ!ÂÃÄ!Ä "
[font-lock-defaults make-local-variable (... t nil nil beginning-of-line)
fboundp font-lock-refresh-defaults] 2] #[nil "ÆÇ\" È=ÉÇÊ#ÆË\"$
È=*ÉËÌ#)ÍÎÏÐÑ!QAA²AA² AA²ÉÒ Ó\"Ô#ÉÒÓ\"Õ#ÉÒÓ
\"Ö#," [dired-mode-map now bdjc bdj sep map lookup-key "J"
undefined define-key bmkp-dired-jump "
" ...] 6] #[nil "ÁÀ!Â" [bookmark-make-record-function make-local-variable
bmkp-make-dired-record] 2] dired-extra-startup)
这就是您所需要的:
(add-hook 'dired-after-readin-hook 'hl-line-mode)
hl-line-mode
是一个 local 挂钩。 global-hl-line-mode
是一个 全局 挂钩。您只希望它用于 Dired 缓冲区,这意味着您需要 hl-line-mode
.
哦,用这个把它关掉:
(remove-hook 'dired-after-readin-hook 'hl-line-mode)