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.
示例:
- 列表 1
- 列表 2
Header 1
- 列表 3
- 列表 4
但是当我尝试这样做时,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] =] 每个标题(尽管领先的星星仍会出现在实际的文本文件中)。
我喜欢 Emacs 和 Org-Mode。但我只能在干净的视图中使用 Org 模式(或任何所谓的 - 打开 org-indent-mode)。
我的问题是我经常想使用前面没有子弹的 header。我想要一个星号作为列表的开头,而不是 header.
示例:
- 列表 1
- 列表 2
Header 1
- 列表 3
- 列表 4
但是当我尝试这样做时,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] =] 每个标题(尽管领先的星星仍会出现在实际的文本文件中)。