0

因此,我尝试在 vim 中使用命令为 .c 文件中的每一行设置一个总列。但是,当我输入命令时:set tw=132 gggqG,它会从此变成一个代码:

int main()
{
  int i = 0;
  while(i<10)
  {
    cout<<"1";
  }
}

至 :

int main(){ int i = 0; while(i<10){cout<<"1";}}

难道我做错了什么?

4

2 回答 2

1

gq表示“格式化文本”——它用于文本段落,而不是源代码。

如果你想格式化C代码,试试是否可以用VIM格式化C++代码?.

于 2013-02-23T03:52:12.197 回答
1

gq命令用于文本;在 C 文件中,您可以使用它来重新格式化多行注释(使用正确的'formatoptions''comments'选项),但不能将它用于源代码本身。

在那里,Vim 提供了通过 重新缩进=,即gg=G重新缩进整个缓冲区。如果您需要更花哨的东西,则必须将其委托给外部工具,例如:%!astyle.

于 2013-02-23T20:46:20.560 回答