如何让hs minor模式在emacs中的php模式上自动加载?

如何让hs minor模式在emacs中的php模式上自动加载?,php,emacs,php-mode,Php,Emacs,Php Mode,对于我最喜欢的模式,我使用以下代码段在启动时加载hs次要模式: (add-hook '____-mode-hook 'hs-minor-mode) 到目前为止,它已经开始使用css模式、perl模式、sh模式(bash)和lisp模式。但由于某些原因,它不会在php模式下加载,即使我可以手动加载它 以下是我的php模式设置: (defun php-overload-keys () (let ((map php-mode-map)) (define-key map "\t" 'dumb-i

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

(add-hook '____-mode-hook 'hs-minor-mode)
到目前为止,它已经开始使用css模式、perl模式、sh模式(bash)和lisp模式。但由于某些原因,它不会在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)

我做错什么了吗?我尝试在函数中包装hs次要模式,但仍然无法加载。然而,我过载的密钥确实如此。处理方法是什么?

模式函数通常接受数字参数来启用/禁用它们,如果没有提供参数,则充当开关,因此作为一般规则,您应该使用:


(添加hook'php模式hook(lambda()(hs次要模式1))

通常我会推荐

(add-hook 'prog-mode-hook #'(lambda () (hs-minor-mode t)))
因为
hideshow
不是特定于PHP的模式