我正在使用 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