【发布时间】:2010-11-08 06:46:15
【问题描述】:
实现代码折叠或 org-mode 使用的循环类型之类的最佳方法是什么。在 elisp 中创建此类行为的最佳解决方案是什么?
编辑: 对不起,我不清楚。我想在 elisp 中编写一些与代码折叠非常相似的东西,或者实际上最像 org-mode 并且具有可以扩展的层次结构。我想知道实现这种效果的最佳方法。我想我听说 emacs 覆盖是一个很好的解决方案,但我不知道。
就折叠而言,我只使用内置的 set-selective-display
编辑 2 号:
感谢您的回答,但我认为我问错了问题,所以让我试着更清楚地了解我想要做什么。我想创建以下内容
当你把你的观点放在一个函数上并调用这个 elisp 函数时,它将把函数定义从它所在的任何地方(我正在考虑只使用 find-tag )并将它展开到当前缓冲区中。这个想法是,如果您必须跳转到不同的缓冲区来读取函数定义,我觉得这是到另一个文件的上下文切换。所以我希望它表现得像代码折叠一样,只是它从缓冲区外部提取代码。这会带来一些问题,因为它实际上无法将代码粘贴到缓冲区中,或者如果有人保存它将保存拉入的代码。所以我想知道是否有一种方法可以在缓冲区内创建一个也不属于缓冲区的区域。我认为这是有道理的。
【问题讨论】:
-
您正在寻找一些东西,当您在函数 CALL 中使用点调用它时,它会跳转到函数定义?有点像获得有关 elisp 函数的帮助会让您跳转到 elisp 代码?如果没有“项目”的一些概念,我认为您无法做到这一点,例如,您如何知道要跳转到哪个“交换”功能?
-
另请参阅:stackoverflow.com/questions/382781/… 对选择性显示进行了一些调整,以获得一些类似折叠的效果。
-
我建议你删除你的
EDIT NB 2并为它提出一个新问题。
标签: emacs elisp code-folding