Emacs 如何为dired启用hl线路模式?

Emacs 如何为dired启用hl线路模式?,emacs,elisp,Emacs,Elisp,我正在尝试启用hl line模式,但它不起作用。启用全局hl模式是可行的,但它是每个缓冲区,而不仅仅是我不想要的缓冲区 (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-

我正在尝试启用hl line模式,但它不起作用。启用全局hl模式是可行的,但它是每个缓冲区,而不仅仅是我不想要的缓冲区

(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 "ÆÇ\"    È=ÉÇÊ#ÆË\"$   
È=*ÉËÌ#)ÍÎÏÐÑ!QAA²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模式
是一个本地钩子<代码>全局hl线路模式是一个全局挂钩。您只需要直接缓存,这意味着您需要
hl行模式


哦,用这个来关闭它:

(remove-hook 'dired-after-readin-hook 'hl-line-mode)
这就是您所需要的:

(add-hook 'dired-after-readin-hook 'hl-line-mode)
hl-line模式
是一个本地钩子<代码>全局hl线路模式是一个全局挂钩。您只需要直接缓存,这意味着您需要
hl行模式


哦,用这个来关闭它:

(remove-hook 'dired-after-readin-hook 'hl-line-mode)

您是如何发现或知道在读入hook后使用dired的,而不是dired模式hook的?
C-hf
。但是你可以每种都试试。在这种情况下,两者中的任何一个都会起作用。但是,当您使用
g
和(比如)C-x v刷新Dired缓冲区时,您会看到wrt打开/关闭的细微差别。如果我尝试设置hl line mode dire mode hook,我会得到我在问题中发布的错误。我想我要问的一个问题是,人们是如何找到驼鹿的?比如说在读了胡克之后你是怎么找到迪德的?C-h f允许您描述一个函数,但这假设您已经知道我使用的类型名称,所以我只做
C-h f hook S-SPC
,然后是其他我想匹配的东西,例如
dired
。(顺序无关紧要,因此
C-h f dired S-SPC hook
显示相同的匹配集。)但如果不使用冰柱,则可以使用apropos命令获得大致相同的信息,例如
M-x apropos variable
。嗨,即使启用hl行模式,dired也不会突出显示当前行。为什么?您是如何发现或知道在读入hook后使用dired而不是dired模式hook的?
C-hf
。但是你可以每种都试试。在这种情况下,两者中的任何一个都会起作用。但是,当您使用
g
和(比如)C-x v刷新Dired缓冲区时,您会看到wrt打开/关闭的细微差别。如果我尝试设置hl line mode dire mode hook,我会得到我在问题中发布的错误。我想我要问的一个问题是,人们是如何找到驼鹿的?比如说在读了胡克之后你是怎么找到迪德的?C-h f允许您描述一个函数,但这假设您已经知道我使用的类型名称,所以我只做
C-h f hook S-SPC
,然后是其他我想匹配的东西,例如
dired
。(顺序无关紧要,因此
C-h f dired S-SPC hook
显示相同的匹配集。)但如果不使用冰柱,则可以使用apropos命令获得大致相同的信息,例如
M-x apropos variable
。嗨,即使启用hl行模式,dired也不会突出显示当前行。为什么?