实现代码折叠或 org-mode 使用的循环类型的最佳方法是什么。在 Elisp 中创建这种行为的最佳解决方案是什么?
编辑: 抱歉我没说清楚。我想用省略号编写一些程序,这些程序与代码折叠非常相似,或者实际上最像组织模式(org-mode) ,其层次结构可以扩展。我想知道达到这种效果的最佳方法。我想我听说过 emacs 覆盖是一个很好的解决方案,但我不知道。
至于折叠,我只是使用内置的集-选择-显示
编辑2:
谢谢你的回答,但我认为我问错了问题,所以让我试着更清楚我正在努力做什么。我想创建以下内容
当你把你的点放在一个函数上并调用这个 elisp 函数时,它会把函数定义放在它所在的地方(我想只用 find-tag 来做这个) ,并在当前缓冲区中展开它。这个想法是,如果你必须跳转到一个不同的缓冲区来阅读函数定义,我觉得这是一个上下文切换到另一个文件。所以我希望它的行为像代码折叠一样,只是它从缓冲区外部拉入代码。这就出现了一些问题,因为它实际上不能将代码粘贴到缓冲区中,或者如果有人保存它将保存提取的代码。所以我想知道是否有一种方法可以在缓冲区中创建一个区域,而这个区域也不是缓冲区的一部分。我觉得有道理。