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-line
和 goto-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 上自动扩展的主要内容,如果未能解决你的问题,请参考以下文章