Vim中简单格式化代码
前言写这个总结的起因是我在把Windows上VS中的代码粘贴在Linux服务器的Vim中时,代码格式惨不忍睹,我就搞不明白为什么它每一行都要向后缩进,搞得我的代码最后像倒立的楼梯似的,就像这样: int main(int argc,char *argv[])
{
int i=0,j=0;
if (i != 0) {i++; }
else {i--; }
for(i=0;i<5;i++)j++;
printf("i=%d,j=%dn",i,j);
return 0;
}
往常我一般就是切换到插入模式,然后使用删除键删除掉前面多余的空格,可是这一次我决定不再忍受了,我要找到快速格式化的方法,还别说,方法其实很简单,各种格式化方法的核心就是符号 何谓“简单”其实一开始我想标题的时候并没有加上“简单”二字,直到我发现了一个求知者看似“无理”的要求,他要求在Vim中把上面格式的代码格式化成下面这样: int main(int argc,char *argv[])
{
int i=0,j=0;
if (i != 0)
{
i++;
}
else
{
i--;
}
for(i=0;i<5;i++)
j++;
printf("i=%d,j);
return 0;
}
如果你也是这样想的,很抱歉,你可以关掉这个页面了,本文提供的方法无法满足你的要求,这就是我的标题中为什么加上了“简单”二字,而Vim中的简单格式化只能是格式化成下面这样,以行为单位,保证每行的缩进都是正确的: int main(int argc,j=0;
if (i != 0) {i++; }
else {i--; }
for(i=0;i<5;i++)j++;
printf("i=%d,j);
return 0;
}
如果你确实要把大括号的换行也显示正确,那么只能通过安装插件、编写脚本、或者把源代码中对应的位置敲如回车,变成下面这样格式的代码,然后再使用本文后面叙述的方法来格式化就可以了。 int main(int argc,j=0;
if (i != 0)
{
i++;
}
else
{
i--;
}
for(i=0;i<5;i++)
j++;
printf("i=%d,j);
return 0;
}
神奇的‘=’其实格式化的核心内容就是这个
总结
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |