使用组织模式折叠/展开.emacs文件的部分
我最近学习了emacs组织模式的基础知识,忍不住想象将折叠/扩展概念应用于源文件的某些部分。我希望能够将.emacs文件划分为子部分,并在加载时仅显示标题,有点类似于以下内容:使用组织模式折叠/展开.emacs文件的部分,emacs,elisp,org-mode,Emacs,Elisp,Org Mode,我最近学习了emacs组织模式的基础知识,忍不住想象将折叠/扩展概念应用于源文件的某些部分。我希望能够将.emacs文件划分为子部分,并在加载时仅显示标题,有点类似于以下内容: ; ERC config... ; DIRED config... ; MISC config... 当然,一旦展开,其中的每一行都将是多行代码的标题,如下所示: ; ERC config (defun start-irc () (interactive) (erc-tls :server "irc.fre
; ERC config...
; DIRED config...
; MISC config...
当然,一旦展开,其中的每一行都将是多行代码的标题,如下所示:
; ERC config
(defun start-irc ()
(interactive)
(erc-tls :server "irc.freenode.net" :port 6697 :nick "foo"))
; DIRED config...
; MISC config...
那么这可能吗?我如何使用emacs 24.2实现这样的功能
谢谢 就像
组织模式
一样好,它确实需要一些结构,我不相信可以在.emacs
文件中以您想要的方式维护这些结构
工作正常的是折叠模式
。在上查看相关信息,但基本上您所做的是围绕要折叠的代码块设置注释,如下所示:
;;{{{ some folder of some kind
(a few lines)
(of lisp)
(this "code" is just filler)
;;}}}
;;{{{ a different folder
(some more elisp code)
;;}}}
当它被折叠时,它看起来像:
;;{{{ some folder of some kind...
;;{{{ a different folder...
使您能够准确地实现这一点(即在组织模式下管理init文件)。具体见:
就我自己而言,我在init文件中使用了大纲次要模式
,用于模糊相似的目的。各种内容被视为大纲标题,但您可以将outline regexp
设置为文件局部变量以限制该行为,然后使用outline toggle children
(您可以绑定到某个方便的键)切换打开和关闭内容。“切换”命令可在节中的任何位置工作,而不仅仅是在标题上
我用;;开始默认情况下要折叠的标题*代码>并以以下内容结束我的初始文件:
;;;局部变量:
;;; 大纲regexp:“;;”
;;; 评估:(progn(大纲次要模式1)(while(向前搜索“^;;;;\\\*”nil t)(大纲切换子项)))
;;; 完:
在您的实例中,您可以使用:
;;;局部变量:
;;; 大纲regexp:;”
;;; 评估:(程序(轮廓次要模式1)(隐藏主体))
;;; 完:
实际上与Trey的建议非常相似,尽管我希望通过折叠可以轻松地嵌套我没有考虑的部分(没有必要这么做)。我觉得大纲方法使文件看起来稍微干净一些,如果这对你来说很重要的话。你也可以看看新的包,它与大纲次要模式一起工作,使它看起来更像组织模式。在(e)中,lisp文件将分号序列解释为标题,因此所有遵循注释标准约定的现有代码都可以折叠,而无需任何更改。许多组织模式,如键绑定(如折叠/展开标题的选项卡等)也可以工作。这正是我想要的。进口部分有点棘手,但我知道了。