Emacs组织模式:如何折叠块而不会阻止标题?

时间:2011-12-22 17:28:46

标签: emacs org-mode

我知道我可以通过点击TAB键进入块标题并折叠/展开。 但是假设我在一个有数百行的块中,我只想折叠当前块,没有必须转到块头 - 是吗键盘快捷键可以做到这一点?或者是否有一个elisp函数来执行该操作,以便我可以绑定一些该函数的快捷方式?

3 个答案:

答案 0 :(得分:4)

创建执行以下功能的键绑定:

(defun zin/org-cycle-current-headline ()
  (interactive)
  (outline-previous-heading)
  (org-cycle))

这将跳回上一个标题然后循环。由于标题已经打开,它将关闭它。它还将重点放在标题的开头。

如果在(save-excursion )中包装这两个命令,它将保留该点,但是这可能导致在省略号内输入信息而没有意识到它。或者,您可以更改命令以调用非交互式表单:

(defun zin/org-cycle-current-headline ()
  (interactive)
  (org-cycle-internal-local))

这相当于(save-excursion )的上述内容。

答案 1 :(得分:3)

C-c C-p会转到标题,TAB会弃牌。您可以为此创建键盘宏,或等效的ELISP:

(defun up-n-fold ()
  (interactive)
   (progn
     (outline-previous-visible-heading 1)
     (org-cycle)))

编辑:更正了C-c C-p的C-c p,如下文所述。谢谢!

答案 2 :(得分:0)

我不确定这样的功能是否存在,但创建一个功能并不难。只需用以下函数替换以下击键: CMr ^ * 输入 tab 。< / p>