在Emacs组织模式中执行标记搜索时,会消除无与伦比的顶级树

时间:2011-09-29 20:04:44

标签: emacs view elisp user-experience org-mode

在过去的一年半中,我在Org模式中保留了一个单片缓冲区,用于我当前雇主的工程笔记。尽管主要包含指向其他文档的指针,但根据人类标准(48,290行文本),该文件变得非常大,同时通过编程手段(读取:grep和Org模式标记搜索)可以轻松搜索和编辑。

但有一件事困扰着我。当我执行tag search using Org Mode 6.33x时,Org的稀疏树视图保留缓冲区内不匹配树的折叠表示(即,前面带有单个星号的内容,*)。这通常适用于较小的缓冲区或更好地组织成具有多个分支的单个树的缓冲区。但是,这对于每个新树按时间顺序生成的文档来说效果不是很好,每天都有一个,就像我一直在做的那样。

在我继续之前,我会注意到我的解决方法是我刚刚提出的问题所固有的,以及我使用此缓冲区的文档习惯的明显改变。但是,仍然存在以下问题:

1)为什么Org Mode在执行稀疏标签搜索时以这种方式组织树?技术细节不言自明,用户体验决策则不那么明确。

2)如果我希望用Emacs Lisp编写的脚本纠正这个问题,我应该更详细地探索哪些钩子和命令来重构文档视图?编写标准命令的覆盖(例如,org-match-sparse-tree)已经不言而喻了。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

正如您已经注意到的那样,问题只影响顶级标题。好消息是,在组织模式中,您可以通过简单的击键轻松降级所有标题。这样你就可以避免这个问题。之后清理只是一些简单的按键。

分步说明:

  • 标记完整缓冲区
  • 致电 M-right (适用于outline-demote
  • 在文件开头输入* root\n
  • 现在,建立你的子树并用它做你想做的事。
  • 完成后,您可以删除文件开头的* root\n,然后使用 M-left
  • 再次宣传标题

我的印象是,您甚至可以将整个标题保留在适合您应用的位置。