因此,我尝试在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";}}
我做错了吗?
答案 0 :(得分:1)
gq
表示“格式化文本” - 它用于文本段落,而不是源代码。
如果您想格式化C代码,请尝试 Is it possible to format C++ code with VIM? 。
答案 1 :(得分:1)
gq
命令适用于 text ;在C文件中,您可以使用它来重新格式化多行注释(使用正确的'formatoptions'
和'comments'
选项),但您不能将其用于源代码本身。
在那里,Vim通过=
提供重新缩进,即gg=G
重新缩进整个缓冲区。如果您需要更实用的东西,则必须将其委托给外部工具,例如: :%!astyle
。