对于我最喜欢的模式,我使用以下代码段在启动时加载hs-minor-mode:
(add-hook '____-mode-hook 'hs-minor-mode)
到目前为止,它已经开始研究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)
我做错了吗?我尝试在函数中包装hs-minor-mode但仍然无法加载。但是,我的重载键也可以。这是什么交易?
答案 0 :(得分:6)
模式函数通常接受一个数字参数来启用/禁用它们,如果没有提供参数则用作切换,所以作为一般规则你应该使用:
(add-hook 'php-mode-hook (lambda () (hs-minor-mode 1)))
答案 1 :(得分:0)
一般情况下我会推荐
(add-hook 'prog-mode-hook #'(lambda () (hs-minor-mode t)))
因为hideshow
不是特定于PHP的模式。