试试
(defun org-narrow-to-list ()
(interactive)
(save-excursion
(narrow-to-region
(progn (org-beginning-of-item-list) (point))
(progn (org-end-of-item-list) (point)))))
Claude的回答:
在 Emacs 的 Org mode 中,可以使用 narrowed to subtree 特性来聚焦在某个子列表上。要激活这个功能,可以:
-
将光标置于要聚焦的子列表上
-
按下
C-x n s
或者C-x n n
键这会将视图缩小到该子列表。你会看到标题栏显示 Narrowed to subtree。
现在,你只能看到和编辑这个子列表及其子元素。要退出 narrowed view,按下 C-x n w
键。
例如,如果你有这样一个列表:
* Heading 1
** Subheading A
*** Sub-subheading 1
*** Sub-subheading 2
** Subheading B
* Heading 2
将光标置于 Subheading A
上,按下 C-x n s
会得到:
** Subheading A
*** Sub-subheading 1
*** Sub-subheading 2
只显示 Subheading A
及其子元素
这是一个很有用的功能,可以让你专注在某一部分,而不被其他部分分散注意力。
希望这个解释有帮助!如果你有其他 Org mode 的问题,随时问我。
谢谢, 我没说清楚, 我想说的是:
- a
- b
这样的 list, 不是 heading tree.
用 org-beginning(end)-of-item
比较好。
(defun org-narrow-to-item ()
"Narrow buffer to the current item.
Throw an error when not in a list."
(interactive)
(save-excursion
(narrow-to-region
(progn (org-beginning-of-item) (point))
(progn (org-end-of-item) (1- (point))))))