实现代码折叠或 org-mode 使用的循环类型的最佳方法是什么。elisp 中创建这种行为的最佳解决方案是什么?
编辑:对不起,我不清楚。我想在 elisp 中编写一些与代码折叠非常相似的东西,或者实际上最像 org-mode 具有可以扩展的层次结构。我想知道实现这种效果的最佳方法。我想我听说 emacs 覆盖是一个很好的解决方案,但我不知道。
至于折叠,我只使用内置的 set-selective-display
编辑编号 2:
感谢您的回答,但我认为我问错了问题,所以让我试着更清楚地了解我想要做什么。我想创建以下
当你把你的观点放在一个函数上并调用这个 elisp 函数时,它将把函数定义放在它所在的任何地方(我正在考虑只使用 find-tag )并在当前缓冲区中展开它。这个想法是,如果您必须跳转到不同的缓冲区来读取函数定义,我觉得这是到另一个文件的上下文切换。所以我希望它表现得像代码折叠一样,只是它从缓冲区外部提取代码。这会带来一些问题,因为它实际上无法将代码粘贴到缓冲区中,或者如果有人保存它将保存拉入的代码。所以我想知道是否有一种方法可以在缓冲区内创建一个也不属于缓冲区的区域。我认为这是有道理的。