【问题标题】:how to end TODO lists in emacs org-mode如何在 emacs org-mode 中结束 TODO 列表
【发布时间】:2012-03-20 19:17:00
【问题描述】:

我有一个 TODO 项目列表,我试图在同一个文件中有 2 个 TODO 列表,但似乎无法结束第一个。

FIRST LIST: TODAY
* TODO Item 1
  Description
* TODO Item 2
  Description


SECOND LIST: TOMORROW
* TODO Item 3
  Description
* TODO Item 4 
  Description

不幸的是,SECOND LIST: TOMORROW 现在是TODO Item 2 描述的一部分。我的意思是,当我点击 shift-tab 时,我不再看到文本 SECOND LIST: TOMORROW,因为它折叠在 TODO Item 2 下。我看到的是..

FIRST LIST: TODAY
* TODO Item 1
* TODO Item 2
* TODO Item 3
* TODO Item 4 

虽然我想看到的是......

FIRST LIST: TODAY
* TODO Item 1
* TODO Item 2


SECOND LIST: TOMORROW
* TODO Item 3
* TODO Item 4 

如何退出描述模式并开始一个新的独立列表?

编辑/更新我在列表之间添加了空格以响应 cmets。来自here,'列表在每个项目结束时结束,这意味着在任何行之前的缩进小于或等于顶级项目的缩进。它也在两个空行之前结束'---由此,我怀疑必须有一种方法可以在 .org 文件中包含多个列表。但是,在我的示例中,我注意到 2 个空行并没有结束列表,而是像描述一样继续。

这是它以某种方式成为议程而不是简单列表的一个特点吗?另一方面,我知道以下枚举 /does/ 结束了列表:

FIRST LIST: TODAY
1. Item 1
   Description
2. Item 2
   Description


Second LIST: Tomorrow
1. Item 3
   Description
2. Item 4
   Description

我真的没有任何不尊重你们 emacs 向导(让我感到惊讶)的意思,因为我一直坚持要找到一种方法来做到这一点,而且我知道这个工具有很多我不理解的功能.但我想在一个 .org 文件中包含 2 个独立的非枚举待办事项列表,这样我就可以(对我而言)快速地将未完成的任务从今天拖到明天,而无需深入设置依赖关系和截止日期。

【问题讨论】:

  • org-mode 如何知道FIRST LIST 结束,除非你创建一个新的列表结构
  • 没错,@kindahero,我正在寻找一个结束列表分隔符。下面的回复告诉我这是不可能的,所以我会一直保持打开状态,直到成为可能,无论是次要模式、分隔符还是其他。
  • 我同意 org-mode 需要某种类型的结束列表分隔符 - 它在您想要插入快速子列表的许多情况下很有用,而不仅仅是在顶层,如您的示例-缩进轮廓很容易做到,因此在将缩进轮廓转换为 org-mode 时遇到了麻烦。目前你能做的最好的事情是添加 * - 表示返回到上一个级别,尽管它相当笨重。我想代码都是围绕当前结构构建的,但我没有深入研究。

标签: emacs org-mode


【解决方案1】:

很简单,就是让两个表头自己变成列表项。,像这样:

* first todo list. 
** first item in list. 
** second item in list

* second todo list 
** first item and so on... 

这还使您能够折叠列表。

【讨论】:

  • 谢谢,@daramarak。我也想过这一点,但更多地将其视为一种解决方法。我真的希望这些被视为单独的列表,但在同一个文档中。
  • 这就是 org-mode 或任何其他大纲的工作方式。如果您想以其他方式工作,请使用其他方式。这个问题是“如何在启动子部分后向父部分添加文本?​​”的变体。答案是你不能。
  • org-mode 是主要模式。它将整个缓冲区视为一个轮廓。如果您需要包含一些待办事项列表的文档,我建议您尝试找到更合适的 emacs 扩展。可能有一种次要模式可以为您提供所需的功能。
  • @event_jr 和 daramarak 你对其他东西或次要模式有什么建议吗?听起来我在这里提出了批评,但我不觉得我已经要求 emacs 提升死者或其他任何东西——我的目标只是在一个文本文件中创建两个单独的列表。多个独立列表是很常见的事情,就像在每个站点上一样。我向我推荐了 Org-mode 作为具有此功能的个人 wiki 应用程序的替代品。
  • @Mittenchops 我看到您正在尝试用 org-mode 替换 HTML。 org-mode 是一个可以发出 HMTL 的大纲,但反过来肯定不行。也许您应该尝试降价模式?尽管这意味着您将失去所有或 org-mode 的大纲功能。如果我是你,我会将我的工作流程从以 HTML 为中心转变为以组织模式为中心。
【解决方案2】:

您不能在单个文件中这样做。 Org 将标题下的所有内容都视为属于它,直到您到达同一级别的另一个标题。除了开始一个新标题之外,没有办法结束标题。

这确实有一些缺点,如果您想要一个子标题,则必须使用空白标题,然后在没有任何新标题的情况下返回父级。这意味着唯一不属于标题的文本是第一个标题之前的文本,基本上相当于摘要。

我能想到的两个解决方案是

  1. 使用 daramarak 提供的解决方案

  2. 使用 2 个单独的 Org 文件,然后使用议程来跟踪独立列表中的多个 TODO,这些列表仍然可以放在一起以查看概览。

【讨论】:

    【解决方案3】:

    普通列表以“-”开头,以空白行结尾:

    First list
    - Item 1
    - Item 2
    
    Second List
    - Item 1
    - Item 2
    

    但 TODO 只能在标题中识别(以 * 开头)。我认为这是组织模式设计的一部分。您可以通过标记行并按 C-c * 来快速将列表转换为标题。 不过,与 TODO 类似但更轻量级的功能 "checkboxes" 可用于普通列表中以获取子任务列表。

    List a
    - [X] Item 1
    - [ ] Item 2
    
    List B
    - [ ] Item 1
    - [ ] Item 2
    

    C-c C-c 切换列表项。还可以嵌套列表并显示其子级的状态。

    - [ ] List A
      - [ ] Item 1
      - [ ] Item 2
    - [-] List B
      - [X] Item 1
      - [ ] Item 2
    

    另一种可能性是使用内联任务 C-c C-x t 它们有特定的结尾

    List 1
    *************** TODO Item 1
    *************** END
    
    *************** TODO Item 2
    *************** END
    List 2
    *************** TODO Item 1
    *************** END
    *************** TODO Item 2
    *************** END
    *************** TODO 
    *************** END
    

    更多讨论可以找here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多