首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为dired启用hl-line模式?

如何为dired启用hl-line模式?
EN

Stack Overflow用户
提问于 2015-06-25 18:42:53
回答 1查看 557关注 0票数 1

我试着让hl线模式只适用于dired模式,但它不起作用。启用全局-hl模式是可行的,但它是每个缓冲区,而不是我不想要的。

代码语言:javascript
复制
(defun hl-mode-for-dired ()
  (setq hl-line-mode 1)
)

(add-hook 'dired-mode-hook 'hl-mode-for-dired)

如果我试图执行elisp,我将在emacs日志中得到这个错误输出。另一个问题是,为什么错误输出会如此混乱?

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-25 20:48:40

这就是你所需要的:

代码语言:javascript
复制
(add-hook 'dired-after-readin-hook 'hl-line-mode)

hl-line-mode是一个本地钩子。global-hl-line-mode是一个全球性的钩子。您只需要用于Dired缓冲区,这意味着您需要hl-line-mode

哦,用这个关掉它:

代码语言:javascript
复制
(remove-hook 'dired-after-readin-hook 'hl-line-mode)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31058306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档