使用 Org-Mode 将制表符缩进列表转换为嵌套列表?

使用 Org-Mode 将制表符缩进列表转换为嵌套列表?

我正在使用 Org-Mode 来管理数据库重构,其中一部分涉及将当前架构转换为文本,以便我可以清理内容。我编写了一个输出如下数据的查询:

| table |        |
|       | column |
|       | column |
|       | column |
|       | column |
| table |        |
|       | column |
|       | column |

我可以将其复制并粘贴到 Emacs 中,空白字段将转换为制表符。一切都很好,但是有没有什么方法可以让 Org-Mode 将带缩进的列表转换为带子列表的列表?

我能做的最好的事情就是破解查询以输出:

| + table |          |
|         | - column |

这样就可以有效地“欺骗” Org-Mode 让它认为它已经是一个格式正确的列表。

答案1

如果您收到代码框中显示的数据(包括表格中的 |):

With the point preceeding the table:
M-x replace-regexp <RET> " ?| \{0,4\}" <RET><RET>
M-x replace-regexp <RET> " *$" <RET><RET>

这将删除表格格式以及行尾的空格(缺少“列”的地方)。在我的情况下,制表符被转换为空格(这也使删除空格变得更容易)。如果它将它们保留为制表符,您可能需要调整 {0,4}。可能有一种方法可以创建一个可以删除空格或制表符的正则表达式,但我对正则表达式的了解还不够。

如果您已经删除了标记内容为组织表的 | ,那么您只需按照以下步骤操作即可。

然后转换为一组列表,标记要转换的整个区域并根据 Org-Manual 使用以下命令:http://orgmode.org/org.html#Plain-lists

C-u C-c -
or
C-u M-x org-toggle-item

结果如下:

- table
  - column
  - column
  - column
  - column
- table
  - column
  - column

相关内容