如何在emacs中永久启用hs-minor-mode

sud*_*008 11 emacs elisp

我在.emacs文件中使用thhs代码来永久启用hs-minor-mode并更改快捷方式:

(setq-default hs-minor-mode t)
(global-set-key (kbd "C-c C-h") (kbd "C-c @ C-h"))         ;;hiding block of code
(global-set-key (kbd "C-c C-r") (kbd "C-c @ C-s"))         ;;revealing block of code
Run Code Online (Sandbox Code Playgroud)

但模式不会自动激活.我该怎么办?

Pra*_*mar 30

您可以hs-minor-mode使用C,C++模式打开特定模式c-mode-common-hook.

(add-hook 'c-mode-common-hook #'hs-minor-mode)
Run Code Online (Sandbox Code Playgroud)

在Emacs 24或更高版本中,您可以使用在所有编程模式中打开它prog-mode-hook.

(add-hook 'prog-mode-hook #'hs-minor-mode)
Run Code Online (Sandbox Code Playgroud)

  • 两条评论:`(lambda()(hs-minor-mode))`写得更好`#'hs-minor-mode`.并且`prog-mode-hook`是Emacs-24中的新功能,所以如果你使用旧的Emacs,更改该钩子将不会产生任何影响. (5认同)

Mag*_*nar 13

如果你想让它真正成为全球性的,那就可以了:

(define-globalized-minor-mode global-hs-minor-mode
  hs-minor-mode hs-minor-mode)

(global-hs-minor-mode 1)
Run Code Online (Sandbox Code Playgroud)