在编辑和阅读org时,如何能做到,只展开当前编辑、阅读的正文内容,对于其他层级则折叠不显示出来。然后进入另一个标题后,自动展开当前标题,而隐藏其他标题的内容。
这个功能比较常用,应该有现成的函数、模式、配置,但找了半天时间都没有找到,有人见到过吗?谢谢指点!
在编辑和阅读org时,如何能做到,只展开当前编辑、阅读的正文内容,对于其他层级则折叠不显示出来。然后进入另一个标题后,自动展开当前标题,而隐藏其他标题的内容。
这个功能比较常用,应该有现成的函数、模式、配置,但找了半天时间都没有找到,有人见到过吗?谢谢指点!
将 org-use-speed-commands
设置成t,光标移到标题最开始,然后按 c 试试。可按?查看有哪些快捷键。
你指的是稀疏树吧,你可以搜org-sparse-tree的用法
谢谢。看英文像是这个,请问是不是原生emacs的才能用,我用doom和evil,按c没有效果。
我更习惯用这个
C-c C-x b runs the command org-tree-to-indirect-buffer (found in org-mode-map), which is an interactive compiled Lisp function in ‘org.el’.
我试了一下
<S-tab>
org-shifttab<tab>
org-cycle是可以的,以上需要光标在标题上。
此功能我想要已久!如上图我的orgcms的文章详情页做了一个刷新按钮,每次点击这个按钮org文件重新载入,光标就回到页面正文开始处,org文件展开折叠的状态不能保持。
我还发过 一个贴子 求教类似问题,目前的解决思路就是 记录光标当前位置,然后goto-char过去,在执行 'org-cycle
(require 's)
(defun cycle-at-point ()
(interactive)
(let* ((line-number (line-number-at-pos))
(line (thing-at-point 'line))
(trim-line (s-trim-left line)))
(if (s-starts-with? "*" trim-line)
(progn
(org-overview)
(goto-line line-number)
(org-cycle)))))
(add-hook 'post-command-hook 'cycle-at-point)
(defun org-show-current-heading-tidily ()
(interactive) ;Inteactive
"Show next entry, keeping other entries closed."
(if (save-excursion (end-of-line) (outline-invisible-p))
;;(progn (org-show-entry) (show-children))
(progn (org-show-entry) (outline-show-children))
(outline-back-to-heading)
;;(unless (and (bolp) (org-on-heading-p))
(unless (and (bolp) (org-at-heading-p))
(org-up-heading-safe)
;;(hide-subtree)
(outline-hide-subtree)
(error "Boundary reached"))
(org-overview)
(org-reveal t)
(org-show-entry)
;;(show-children)))
(outline-show-children)))