4

标题几乎说明了这一点:我经常想为我在当前缓冲区中的当前位置创建一个稀疏树,显示所有标题。

这里是

** 想要为我现在所在的位置创建一个稀疏树 :orgmode:

我经常希望能够为我现在所在的位置创建一棵稀疏树。必须创建一个搜索抄送//-但这是我目前的 kluge:

a) 插入一个唯一的字符串,例如 HERE-I-AM

b) CC // HERE-I-AM (org-occur "HERE-I-AM" nil)

给这样的东西

** My (org-mode) LOGS                           :top:
** LOGs :log
*** Fri Mar 22 2013
**** DONE org-mode - trying to get calendar to work
***** DONE rewrote docs
     - State "DONE"       from ""           [2013-03-22 Fri 14:49]

    blah blah blah

HERE-I-AM

** ...NEXT Daily Log

这显然是不能令人满意的。例如可能没有写权限

4

2 回答 2

1

我很快擦掉了一些可能是你想要的,或者至少接近的东西:

(defun tr/path-sparse-tree ()
  "sparse tree to the current buffer position"
  (interactive)
  (setq pathmarker "Eeshoo9OomeiRaix") ;; random string obtained from
                                       ;; pwgen, probably a unique marker
                                       ;; in any org document...
  (save-excursion 
    (insert pathmarker)
    (org-occur pathmarker))
  (delete-char 16))

我本身不是 emacs-lisp 从业者,但我的快速测试对您的问题描述很有希望。至少它是您当前的自动化 ;-)。

于 2013-05-10T13:58:18.930 回答
1

这个函数应该做你想做的事:

(defun my-org-sparse-tree ()
  "Create an org sparse tree showing only point"
  (interactive)
  (org-overview)      ;; Hide everything
  (org-show-context)) ;; Show context around point
于 2013-05-16T19:03:25.103 回答