目前的方法是把光标移动到 #+BEGIN_SRC
这一行上,然后按TAB,才能折叠这一段代码块。
如果代码块已经较长了,那就有点麻烦(主要的麻烦在于“把光标移动到 #+BEGIN_SRC
这一行”,虽然还是有快捷键 C-c M-b
)。
有没有什么快捷的方式,使得当光标位于代码块内的任意位置时,都能快速地把代码块折叠起来?
另外有没有可能像Shift+Tab
展开标题一样,循环展开/折叠文件内(或者当前小节内)的代码块?
目前的方法是把光标移动到 #+BEGIN_SRC
这一行上,然后按TAB,才能折叠这一段代码块。
如果代码块已经较长了,那就有点麻烦(主要的麻烦在于“把光标移动到 #+BEGIN_SRC
这一行”,虽然还是有快捷键 C-c M-b
)。
有没有什么快捷的方式,使得当光标位于代码块内的任意位置时,都能快速地把代码块折叠起来?
另外有没有可能像Shift+Tab
展开标题一样,循环展开/折叠文件内(或者当前小节内)的代码块?
C-c M-b TAB
也就算两个键,还嫌麻烦的话,换个键试试(比如 C-M-b TAB
)。或者把这两步合并成一步,用键盘宏或者函数定义。
;; 键盘宏
(global-set-key (kbd "<f5>") (kbd "C-c M-b TAB"))
;; 函数定义
(defun my-org-code-block-fold ()
(interactive)
(call-interactively 'org-previous-block)
(org-cycle))
另外,也可以在 #+BEGIN_SRC
那一行用通过鼠标点击来 fold/unfold,如果用图形界面的 Emacs 的话,应该是能做到的(默认并不行,这只是一个想法)。