显示组织模式轮廓,直至某个标题级别

时间:2011-06-01 08:32:11

标签: emacs elisp org-mode

我正在使用组织模式对我的论文进行概述,并且我想将所有标题显示到某个级别(例如所有级别1和级别2标题)。

我在组织模式手册中没有找到任何相关信息。骑自行车只显示1级标题或所有标题,这在我的大纲中是太多的信息。

谢谢,

丹尼尔。

更新:我找到了他的解决方法:设置变量org-cycle-max-level。不过,这是一个全球性的环境。

4 个答案:

答案 0 :(得分:18)

偶然发现了这个问题。一年后,但是到底是什么......有一些命令允许你将标题显示到一定的水平。

一个命令C-<n> C-c tab会显示最高级别为<n> (<n>=1,2,3...)的小标题。

另一个命令是C-<n> S-tab,它将在整个缓冲区上运行。它会显示所有标题<n> (<n>=1,2,3...)

答案 1 :(得分:9)

我找到了一个适合我的解决方案:命令org-content显示文件夹层次结构,并给它一个数字参数完全符合我的要求:限制显示的最大级别。在我的例子中,我想显示2个级别,所以我可以C-2 M-x org-content <RET>

我还将自己的命令添加到我的.emacs init文件中,将该命令绑定到C-c m

(defun org-show-two-levels ()
  (interactive)
  (org-content 2))

(add-hook 'org-mode-hook
  (lambda ()
    (define-key org-mode-map "\C-cm" 'org-show-two-levels)))

答案 2 :(得分:1)

如果来自M. Kullman的答案的前缀参数对你来说有太大的心理能力(当你在同时考虑其他事情时是有限的资源)那么你可以使用以下函数来扩展合同标题

(defvar hf-org-depth-point nil)
(defvar hf-org-depth-depth nil)

(defun hf-org-depth-increase ()
   (interactive)
   (hf-org-depth-incr 1))

(defun hf-org-depth-decrease ()
    (interactive)
    (hf-org-depth-incr -1))

(defun hf-org-depth-incr (incr)
    (when (not (equal (point) hf-org-depth-point))
        (setq hf-org-depth-point nil)
        (setq hf-org-depth-depth 0))a
    (setq hf-org-depth-point (point))
    (setq hf-org-depth-depth (max (+ hf-org-depth-depth incr) 0))
    (hide-subtree)
    (show-children hf-org-depth-depth))

```

答案 3 :(得分:1)

我参加聚会很晚,但是让我们为后代添加一个简单的方法。只需使用Cycle Global Visibility (<backtab>)。如果您的标题是打开的,它将关闭它们。但是,如果您在所有标题都折叠起来的情况下重复应用它,它们将打开您想要的级别。

我通过<SHIFT> + <TAB>从键盘上使用它。您也可以在显示/隐藏->循环全局可见性()

下的组织菜单(在Emacs中)中找到它。