当我使用gqG时,如何阻止Vim加入线?

时间:2012-12-10 14:23:55

标签: vim code-formatting

我养成了编写太长的代码行的坏习惯,所以我终于在我的.vimrc中设置了“colorcolumn = 101”和textwidth = 100。

我希望能够追溯性地将这些线宽限制应用于我已编写的文件,并且我发现从文件顶部开始并按gqG排序就可以了。它会分割太长的线条,但如果它们适合100个字符,它也会将线条连接在一起。

所以,如果一开始我有:

import java.io.File;
import java.io.IOException;
import java.util.Map;

它会变成:

import java.io.File; import java.io.IOException; import java.util.Map;

我真的不希望这行加入行为。

2 个答案:

答案 0 :(得分:5)

要断开长行,您可以使用gqq单独为每一行执行此操作。将此与仅在长度超过100(:help /\%v)和:global的行上的条件执行相结合,如下所示:

:%global/\%>100v/normal! gqq

请注意,这可能仍会引入语法错误,例如:在// ...评论领导者之后打破行。

答案 1 :(得分:2)

或者,您可以使用外部程序格式化代码。 我会建议 astyle (http://astyle.sourceforge.net/以及ubuntu repo中),与vim插件 vim-autoformat (https:/ /github.com/Chiel92/vim-autoformat)。

后者将第一个集成到vim中,以便当您按gqG时astyle格式化代码。