【问题标题】:Emacs Org-Mode: Reset Line Indention Within org-indent-modeEmacs Org-Mode:在 org-indent-mode 中重置行缩进
【发布时间】:2017-01-10 14:41:20
【问题描述】:

我喜欢 Emacs 和 Org-Mode。但我只能忍受在干净的视图中使用 Org 模式(或任何它的名称 - 开启 org-indent-mode)。

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


例子:

  • 列表 1
    • 列表 2

标题 1

  • 列表 3
    • 列表 4

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

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

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

    你所说的改变是 org-mode 的基础;基本上,您正在尝试更改 org-mode 语法。 Header 1 在您的示例中没有被删除的原因是 org-mode 不将其视为标题,因为标题by definition 以领先的星号开头。此外,虽然技术上支持使用* 来识别普通列表项,但不建议这样做,并且可能会导致一些意外行为(参见脚注1 here)。

    话虽如此,您可以对标题的外观进行一些控制。例如,您可以使用org-bullets package。然后,您可以定义要使用的项目符号来代替 *,如下所示:

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

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

    我知道这不是很有帮助,但如果您想使用 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),每个标题只会显示一个星号/项目符号(尽管前导星号仍然会出现在实际的文本文件中)。

    【讨论】:

      猜你喜欢
      • 2010-12-18
      • 1970-01-01
      • 2011-07-10
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多