繁体   English   中英

如何使hs-minor-mode自动在emacs的php-mode上加载?

[英]how do I get hs-minor-mode to load automatically on php-mode in emacs?

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

(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-minor-mode包装在函数中,但仍然无法加载。 但是,我的重载键确实可以。 这是怎么回事?

模式函数通常接受一个数字参数来启用/禁用它们,并且在不提供任何参数的情况下用作切换,因此通常应使用:

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

一般来说,我会建议

(add-hook 'prog-mode-hook #'(lambda () (hs-minor-mode t)))

因为hideshow不是某些特定于PHP的模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM