问题描述
我想在Emacs中禁用行号,因为在组织模式,终端,mu4e,elFeed等中使用行号看起来很丑。
所以我删除了这个:
(global-display-line-numbers-mode t)
现在,我想知道是否有可能仅针对prog-mode
以及最终的纯文本文件(而不是Org)启用行号,我认为是text-mode
。
任何建议都值得赞赏。
(dolist (mode '(text-mode-hook
prog-mode-hook
conf-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 1))))
解决方法
您只需要使用钩子为相应的模式启用它们即可。挂钩需要使用display-line-numbers-mode
作为参数调用t
才能启用此模式。我个人更喜欢将挂钩的代码放入单独的函数中,如有必要,可以在任何时间重新定义它,例如(在大多数编程模式下输入文件时都会调用此挂钩):
(defun my-display-numbers-hook ()
(display-line-numbers-mode t)
)
(add-hook 'prog-mode-hook 'my-display-numbers-hook)
类似地,您可以为text-mode
做它-它会为所有基于text-mode
的文件启用:
(add-hook 'text-mode-hook 'my-display-numbers-hook)