对现有文本进行自动换行

对现有文本进行自动换行

我一直在 Google 上搜索,发现我可以vim先通过:set wrap linebreak nolist,然后 来自动换行set tw=80。我现在输入的文本将会自动换行。

如果我想对文档中已有的文本进行自动换行,我需要突出显示所有内容并按gq。 如果我想对已经很大的文本文档进行自动换行以便于阅读,则这种方法不切实际。

有没有一种方法可以让我自动换行现有文本,而不必先直观地选择每一行?

答案1

格式化整个文件的最简单方法是运行:

gggqG

移动gg到文件开头,并gqG格式化当前位置和文件最后一行之间的所有行(G)。

然而,这可能会导致一些行(没有用空行分隔)被视为属于同一段落,并被加入彼此,即,删除了换行符。

如果发生这种情况,您可以使用gww格式化的命令仅当前行。要将其应用于文件中的每一行,您可以在命令模式下运行以下命令:

:%normal gww

答案2

安东尼的回答直截了当。但是,您也可以使用ggvG突出显示整个文件。gg从开头移动并vG突出显示直到文件结尾。

相关内容