设置tw = 80不能正常工作

时间:2013-02-23 03:43:05

标签: vim

因此,我尝试在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";}}
我做错了吗?

2 个答案:

答案 0 :(得分:1)

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

如果您想格式化C代码,请尝试 Is it possible to format C++ code with VIM?

答案 1 :(得分:1)

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

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