请教org-mode源代码块的格式化问题

我自定义了一个函数用来格式化当前 buffer:

;; 格式化当前 buffer
(defun anne-indent-current-buffer ()
  (interactive)
  (save-excursion
    (indent-region (point-min) (point-max) nil)))

绑定了按键 F5

;; 格式化当前 buffer
(global-set-key [f5] 'anne-indent-current-buffer)

设置了保存 buffer 时自动格式化 buffer:

;; 保存 buffer 前自动格式化 buffer
(add-hook 'before-save-hook 'anne-indent-current-buffer)

但是发现我自定义的这个格式化函数对于 org 文件里面的源代码块不起作用,现在我格式化源代码块的代码只会两种方式:

  • 一行一行按 tab 按键缩进
  • 使用 C-c '编辑,按 F5 调用自定义的格式化

能不能修改下我这个自定义的格式化函数,让它能够支持 org 文件源代码块的格式化(或者说缩进)呢,求各路大佬指点,多谢多谢

找到方法了:(setq org-src-tab-acts-natively t) 就可以

2 个赞