Emacs 大纲模式在 grep 上自动扩展

Posted

技术标签:

【中文标题】Emacs 大纲模式在 grep 上自动扩展【英文标题】:Emacs outline-mode auto expand upon grep 【发布时间】:2011-07-01 23:25:17 【问题描述】:

我在 emacs 中使用outline-mode(主要是组织模式),并使用grep-mode 进行搜索。 让我烦恼的是,当我点击 grep 缓冲区中的链接时, 折叠的文本不会展开。有没有办法让它自动化?

一个类似的问题是在调用goto-line 时自动展开,这个 可以通过为 goto-line 函数定义一个建议来实现, 但是,goto-linegoto-char 的默认建议不适用于 鼠标事件。

更一般地说,当我单击 emacs 中的链接时会发生什么?我试过了 追踪函数堆栈,但由于 emacs 中使用的事件模式。

【问题讨论】:

问题已解决。我忽略了 F1-K 的消息,它告诉鼠标单击事件已映射到 compile-goto-error 函数。 最好将“问题已解决”的备注添加为答案,并将其标记为正确,以免其他人打扰;) 【参考方案1】:

对于您问题的第一部分,这是我使用的诡计。评论如下。

(setq org-directory "~/TOPDIR-OF-ORG-FILES") (全局设置键“\C-cog”'fp-org-grep) (defun fp-org-grep (正则表达式) (交互式“MOrg grep?”) (如果(字符串相等的正则表达式“”) (错误“Rien à trouver!”) (需要'grep) (除非 grep-find-template (grep 计算默认值)) (let ((grep-find-ignored-directories nil) (grep-find-ignored-files nil)) (rgrep 正则表达式“*.org”组织目录)) (setq fp-org-isearch-string 正则表达式) (保存游览 (设置缓冲区“*grep*”) (setq next-error-function 'fp-org-grep-next-error)))) (defun fp-org-grep-next-error (n &optional reset) (编译-下一个错误-函数 n 重置) (组织揭示) (setq isearch-string fp-org-isearch-string) (当(或(空搜索环) (not (string-equal (car search-ring) fp-org-isearch-string))) (push fp-org-isearch-string search-ring))) (defvar fp-org-isearch-string "")

为了速度,我只保留了三​​个 Org 文件到我的议程中,但定义了一个“C-c o g”命令以递归方式遍历我的所有 Org 文件。当您通过常规方式访问任何条目时,Org 周围的上下文就会显示出来。您也可以点击“C-s”来突出显示搜索到的文本。

弗朗索瓦

【讨论】:

【参考方案2】:

我知道您说“问题已解决”,但如果您主要使用 org-mode,您应该查看 org-sparse-tree (C-c /),它可以让您显示匹配正则表达式(或 TODO 状态,或工作流程等)。

【讨论】:

以上是关于Emacs 大纲模式在 grep 上自动扩展的主要内容,如果未能解决你的问题,请参考以下文章

大纲次要模式和组织模式

用于 Python 编程的 Emacs:模块/类大纲/浏览器

Big Sur 大纲视图可扩展项目损坏

word 目录大纲第一级怎么居中对齐

在 Emacs 中,如何根据缓冲区名称自动启用次要模式?

k8s初识:完整课程大纲介绍(首发独家连载),学前电脑和虚拟机配置