better-defaults 中好用的光标移动功能在 org 文件中不起作用?

在Master Emacs in 21 Days中,提到了 better-defaults layer 中有这样的功能我觉得很好用:

C-a 移动到行首 (有两种不同的“行首”: 一种是本行除空格外的最开始,另一种是本行第一个字符处)
多次按 C-a 能在两种不同的“行首”切换。

这类似于 vim 中的 ^0 的区别。

上面的功能在编辑代码时是生效的,可我发现在org 中这样好用的功能被 org 覆盖了,例如有这样的一行(d前面都是空格):

        demo

我想让第一次 C-a 移动到 字符d的前面,第二次 C-a 才移动到行首,但是 (org-beginning-of-line &optional N)覆盖了C-a,只能移动到行的最开始处。包括evil-mode下的^0在org中也没有区别了,都是到最开始处。

请问怎样使得这种光标移动功能在 org 中同样生效?


另外,org 中的 C-a/C-e 似乎有必要更强大:

  1. 第一次敲击忽略:
    • 标题前的星号
    • 列表前的 -12
  2. 第一次敲击忽略:
    • 行尾的tag

不用 Spacemacs,试试 back-to-indentation

2 Document structure - 2.2 Headlines