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

问题描述 投票:3回答:3

当我使用M-x table-insert插入表时

我得到下表:

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

但是当我添加内容时,|会变得像这样不对

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

你如何重新排列列?

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

+-----+-----+-----+
| contecnt |   |   |
|          |   |   |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+
|     |     |     |
+-----+-----+-----+
emacs org-mode
3个回答
2
投票

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

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


1
投票

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

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

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


0
投票

您输入相应的单元格并开始使用C-c'编辑文本,它将打开编辑模式并相应地自动换行文本。完成后再次键入C-c',然后你就回到了格式良好的表格中。

© www.soinside.com 2019 - 2024. All rights reserved.