Maison > Questions et réponses > le corps du texte
#include<stdio.h>
int main(int argc, char *argv[])
{
int i=0;
if (i != 0) {i++; }
else {i--; };
for(i=0;i<5;i++)j++;
printf("i=%d,j=%d\n",i,j);
return 0;
}
上面的代码如何快速格式化成这个样子?
#include
int main(int argc ,char* argv[])
{
int a = 4;
int b = 5;
int f_a = factorial(a);
int f_b = factorial(b);
while(1)
{
if(cmp(f_a,f_b))
{
printf("f_a is bigger than f_b\n");
}
else
{
printf("f_a is not bigger than f_b\n");
}
sleep(100);
}
return 0;
}
不用插件,自己可否写一个简单的模板文件,用来格式化文件?
10086的解答结果不对。
ggvG
=
变成
#include<stdio.h>
int main(int argc, char *argv[])
{
int i=0;
if (i != 0) {i++; }
else {i--; };
for(i=0;i<5;i++)j++;
printf("i=%d,j=%d\n",i,j);
return 0;
}
仅有的幸福2017-05-16 16:35:49
En fait, cela a beaucoup à voir avec la méthode d'écriture originale.
#include<stdio.h>
int main(int argc, char *argv[])
{
for(i in f){
if(i ==9 ){
printf("1");
} else{
printf("2");
}
}
}
Si vous écrivez comme ci-dessus, le résultat de l'utilisation de gg=G est cool :
#include<stdio.h>
int main(int argc, char *argv[])
{
for(i in f){
if(i ==9 ){
printf("1");
}else{
printf("2");
}
}
}
C'est parfait.
ringa_lee2017-05-16 16:35:49
En fait, ce que j'utilise le plus, c'est, en mode visuel, de passer au début de la ligne et d'appuyer sur : > C'est-à-dire d'appuyer sur 'shift + .'
黄舟2017-05-16 16:35:49
!astyle --style=[le format souhaité] -p -H --suffix=none %
Si vous avez installé astyle
PHPz2017-05-16 16:35:49
Première étape :ggvG
///< 先回到首行, 然后选择模式, 全选代码
第二步:=
///< = Généralement utilisé pour une mise en page égale, représente ici l'indentation du code avec plusieurs fractionnements, vous pouvez également ajuster la taille de chaque fractionnement de manière égale
高洛峰2017-05-16 16:35:49
Oui, 10086 et tdblq n'ont pas prêté attention à l'exigence de parenthèses dans la question.
Donnez-moi d'abord la commande
%s/ {/^M{^M/g
%s/ }/^M}/g
%s/};/}/g
%s/)\([^;]\+\);/)^M;/g
gg
=G
Les lignes 1 à 3 traitent du problème des accolades.
La ligne 4 est pour la solution
for(i=0;i<5;i++)j++;
变成
for(i=0;i<5;i++)
j++;
Les lignes 5 à 6 sont le texte intégral automatiquement mis en retrait.
Remarque Le ^M n'est pas saisi directement, mais obtenu par "ctrl+v"+"Entrée".
Mais ceux-ci ne font que résoudre le problème du format.
Le questionneur a dit qu'il devait "formater" le code d'une boucle for en un code avec while
Je suppose que c'est une faute de frappe ?
ringa_lee2017-05-16 16:35:49
En fait, à proprement parler, vim ne peut pas le gérer. Tout ce que gg=G peut faire est d'ajuster l'indentation en unités de ligne. J'ai vraiment besoin d'outils externes comme lz, comme indent. Supposons que vous ayez une configuration d’indentation parfaite. Ensuite, vous pouvez utiliser %!indent pour le faire dans vim
PHP中文网2017-05-16 16:35:49
Sélectionnez les lignes que vous souhaitez mettre en retrait, appuyez sur le grand V pour passer en mode ligne, puis appuyez directement sur >retrait droit, <retrait gauche, et disposez-les simplement ligne par ligne_(:з ∠)_