如何在emacs中重新对齐文本表的列?

时间:2018-01-22 21:26:23

标签: emacs org-mode

当我使用M-x table-insert

插入表格时

我得到下表:

+-----+-----+-----+
|     |     |     |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+

但是当我添加内容时,|会像这样被取消

+-----+-----+-----+
| content   |     |     |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+

如何重新排列列?

当我按回车键时,它只会创建:

+-----+-----+-----+
| contecnt |   |   |
|          |   |   |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+

3 个答案:

答案 0 :(得分:1)

对于长于列宽的单词,表格应该根据需要展开,当发生这种情况时,整个列应该加宽。如果有空间来破坏线,则在达到宽度时将多个单词适当地换行。请记住使用tab在表格中从一个单元格移动到另一个单元格。

可以使用M-x table-widen-cellM-x table-narrow-cell手动更改列宽。

有时Emacs因为某种原因而感到困惑,而且你所描述的内容会发生。解决此问题的一种方法是使用M-x table-unrecognize-table退出表格模式,手动编辑表格,然后执行M-x table-recognize-table。它并不理想,但有时候最简单。

答案 1 :(得分:1)

是的,组织模式表和表模式表功能相互干扰并阻止表重新正确重新排列。我不确定如何解决这个问题,但您在评论中提到您正在使用表格模式,因为您需要表格中的多行单元格。

我建议您使用组织表(使用M-x org-table-create),然后通过在要拆分的位置调用M-x org-table-wrap-region,可以在同一单元格中的多行上拆分长行。

答案 2 :(得分:0)

您输入相应的单元格并使用C-c'开始编辑文本,这将打开编辑模式并相应地自动包装文本。完成后,再次输入C-c',您将返回格式正确的表格。