对文档进行自动换行的最佳方法是什么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
wrap
并linebreak
控制文本的显示,我想你会发现它们实际上并没有在文件中插入换行符。要让 vim 在您键入时在文件中插入换行符,请设置textwidth
所需的宽度(例如 80)。
当您插入更多文本时,这仍然不会自动重排后续行。我通常使用 手动执行此操作gq}
,但我刚刚发现它set formatoptions+=a
会告诉 vim 自动执行此操作。看的帮助auto-format
。
答案2
将gq}
一个段落换行到textwidth
。一定要先set tw=80
。许多发行版将其映射到 Q。因此您也可以使用Q}
它。
答案3
我用于par
格式化,它甚至可以使用现有前缀进行自动换行,例如在电子邮件的上下文中。