Emacs Org-Mode:在 org-indent-mode 内重置行缩进

Emacs Org-Mode: Reset Line Indention Within org-indent-mode

我喜欢 Emacs 和 Org-Mode。但我只能在干净的视图中使用 Org 模式(或任何所谓的 - 打开 org-indent-mode)。

我的问题是我经常想使用前面没有子弹的 header。我想要一个星号作为列表的开头,而不是 header.


示例:

Header 1


但是当我尝试这样做时,Header 1 缩进到列表 2 的级别。

我知道关闭 org-indent-mode 并习惯它是一种解决方案。 但是有没有办法重置 Header 1 的缩进?

您所说的改变对于 org-mode 来说是非常基础的;基本上,您是在尝试更改 org-mode 语法。 Header 1 在你的例子中没有缩进的原因是 org-mode 没有将它视为标题,因为标题 by definition start with leading stars. Also, while it is technically supported to use * to identify a plain list item, this is not recommended, and can cause some unexpected behavior (see footnote 1 here) .

也就是说,您可以对标题的外观进行一些控制。例如,您可以使用 org-bullets package。然后,您可以像这样定义要用来代替 * 的项目符号:

(setq org-bullets-bullet-list
'("◉" "◎" "⚫" "○" "►" "◇"))

这将定义用于前六级标题的项目符号。您可以用其他 utf-8 符号替换该列表中的项目符号,您甚至可以使用 " " 作为其中一个符号,这样您的标题将以单个 space 开头。但是请注意,这只会影响标题的显示方式;在实际文件中,它们仍将以 * 开头。

我知道这不是很有帮助,但我的总体建议是,如果您想使用 org-mode,请坚持使用 org-mode 语法,即使用这样的结构:

- List one
  - List two
* Header 1
  - List three
    - List four

* 开始标题,- 开始普通列表。由于 org-mode 文件只是纯文本,该模式的魔力在很大程度上取决于那些具有固定结构的文件。根据我自己的经验,如果您尝试更改该结构(另一个示例是更改时间戳格式),它会带来更多的麻烦而不是缓解,并导致许多 org-mode 如此出色的功能被破坏。

附带说明:我也更喜欢更简洁的视图,除了 org-indent-mode 之外,我还想启用一个选项 (setq org-hide-leading-stars t),它只会显示一个 [=39] =] 每个标题(尽管领先的星星仍会出现在实际的文本文件中)。