Vim:文档自动换行

Vim:文档自动换行

对文档进行自动换行的最佳方法是什么vim
我希望每行在 80 个字符处换行,不仅仅是视觉上换行,而是输入换行符。

我通过使用得到了这种工作

:set wrap
:set linebreak

但是,如果我返回并在上一行插入文本,它不会调整该段落的其余部分。它获取溢出文本并将其放在换行符上,但后面的行不会向上移动以填补空白。

因此,如果我编辑前一行,我的段落可能如下所示

A line that is 80 characters long
short line
A line that is 80 characters lone

我希望它是这样的:

A line that is 80 characters long
short line A line that is 80
characters long

答案1

wraplinebreak控制文本的显示,我想你会发现它们实际上并没有在文件中插入换行符。要让 vim 在您键入时在文件中插入换行符,请设置textwidth所需的宽度(例如 80)。

当您插入更多文本时,这仍然不会自动重排后续行。我通常使用 手动执行此操作gq},但我刚刚发现它set formatoptions+=a会告诉 vim 自动执行此操作。看的帮助auto-format

答案2

gq}一个段落换行到textwidth。一定要先set tw=80。许多发行版将其映射到 Q。因此您也可以使用Q}它。

答案3

我用于par格式化,它甚至可以使用现有前缀进行自动换行,例如在电子邮件的上下文中。

相关内容