用于编辑Emacs Lisp代码的大纲或折叠模式

时间:2014-01-14 15:53:42

标签: emacs elisp

是否有可以与Emacs-Lisp模式结合使用的次要模式,这样可以轻松打开或关闭每个功能定义,而无需在文本文件中插入特殊代码?

例如

(defun test1()
  (message "Hi!"))

(defun test2()
  (message "Bye"))

F1 会将每个功能定义折叠为顶行/标题

+ (defun test1()
+ (defun test2()

按下前面的+符号将展开给定的功能并使其可编辑。 按 F2 将展开所有定义..

3 个答案:

答案 0 :(得分:5)

这是我的设置:

(require 'hideshow)
(global-set-key (kbd "C-M-h") 'hs-toggle-hiding)
(global-set-key (kbd "<f2> h h") 'hs-hide-all)
(global-set-key (kbd "<f2> h j") 'hs-show-all)

答案 1 :(得分:1)

outline-minor-mode就是这么做的。看看它的菜单。 而不是+ - 符号,您将获得典型的省略号...。那应该不会受到伤害。您可以自己进行密钥绑定。 (我知道你很聪明!)

答案 2 :(得分:1)

outshineoutline-minor-mode的变体,可让您使用org-mode语法,该语法比普通outline-mode更强大。