如何在emacs中的php模式下自动加载hs-minor-mode?

use*_*491 2 php emacs php-mode

对于我最喜欢的模式,我使用以下代码片段在启动时加载hs-minor-mode:

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

到目前为止,它已经开始研究css-mode,perl-mode,sh-mode(bash)和lisp-mode.但由于某种原因它不会加载php模式,即使我可以手动加载它.

这是我的php模式设置:

(defun php-overload-keys ()
 (let ((map php-mode-map))
  (define-key map "\t" 'dumb-indent-relative)
  (define-key map "\177" 'backward-delete-char)
  (define-key map "," nil)
  (define-key map ";" nil)
  (define-key map ":" nil)
  (define-key map "*" nil)
  (define-key map "{" nil)
  (define-key map "}" nil)
  (define-key map "(" nil)
  (define-key map ")" nil)
  (define-key map "/" nil)
  (use-local-map map)))

(add-hook 'php-mode-hook 'php-overload-keys)
(add-hook 'php-mode-hook 'hs-minor-mode)
Run Code Online (Sandbox Code Playgroud)

我做错了吗?我尝试在函数中包装hs-minor-mode但仍然无法加载.但是,我的重载键也可以.这是怎么回事?

phi*_*ils 6

模式函数通常接受一个数字参数来启用/禁用它们,并在没有提供参数时充当切换,因此作为一般规则,您应该使用:

(add-hook 'php-mode-hook (lambda () (hs-minor-mode 1)))