org-src-preserve-indentation 的一点不便之处

我用 org-src-preserve-indentation 的预设值,有的代码块我用的是 C-c ' 编辑的,编辑完之后会自动每行前面加入两个空格,但直接在 Org 里编辑的代码块,不会自动加上这两个空格。所以导致我的 Org 文件里有的加了这两个空格,而有的没有。虽然这似乎没什么实质的影响,但观感不好。

没太明白「自动每行前面加入两个空格」是指什么。

我知道的是,用 C-c ' 编辑 source block 后,在原 buffer 中,代码会和 #+BEGIN_SRC python 对齐,是指的这个么?

C-h v org-src-preserve-indentation 里有介绍,2org-edit-src-content-indentation 的预设值。

比如

#+begin_src C
puts("Hello");
#+end_src

C-c ' 编辑后会自动变成:

#+begin_src C
  puts("Hello");
#+end_src

哦,org-edit-src-content-indentation 这个我知道,想起来了。我因为它加两个空格觉得不好看,把 2 改成 0 了。

(setq org-edit-src-content-indentation 0)
(setq org-src-tab-acts-natively t)

空格会导致某些代码(Makefile?我记不太清楚了,反正被坑过)出问题。