cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana dengan cepat memformat kod ini dalam vim?

#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;
}
高洛峰高洛峰2776 hari yang lalu645

membalas semua(9)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-05-16 16:35:49

    Sebenarnya banyak kaitan dengan kaedah penulisan asal.
    #include<stdio.h>
    int main(int argc, char *argv[])
    {
    for(i in f){
    if(i ==9 ){
    printf("1");
    } else{
    printf("2");
    }
    }
    }
    Jika anda menulis seperti di atas, hasil penggunaan gg=G adalah keren:
    #include<stdio.h>
    int main(int argc, char *argv[])
    {

    for(i in f){
        if(i ==9 ){
            printf("1");
        }else{
            printf("2");
        }
    }

    }

    Ia sempurna.

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 16:35:49

    gg=G

    balas
    0
  • ringa_lee

    ringa_lee2017-05-16 16:35:49

    Malah, perkara yang lebih saya gunakan ialah, dalam mod visual, beralih ke permulaan baris dan tekan: >

    balas
    0
  • 黄舟

    黄舟2017-05-16 16:35:49

    !astyle --style=[format yang anda mahu] -p -H --suffix=none %

    Jika anda memasang astyle

    balas
    0
  • PHPz

    PHPz2017-05-16 16:35:49

    Langkah pertama:ggvG ///< 先回到首行, 然后选择模式, 全选代码
    第二步:= ///< = Biasanya digunakan untuk reka letak yang sama, di sini mewakili lekukan kod dengan berbilang belahan, anda juga boleh melaraskan saiz setiap belahan secara sama

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 16:35:49

    gg
    vG
    =

    balas
    0
  • 高洛峰

    高洛峰2017-05-16 16:35:49

    Ya, 10086 dan tdblq tidak memberi perhatian kepada keperluan soalan untuk kurungan.

    Beri saya order dahulu

    %s/ {/^M{^M/g
    %s/ }/^M}/g
    %s/};/}/g
    %s/)\([^;]\+\);/)^M;/g
    gg
    =G

    Barisan 1~3 sedang berhadapan dengan masalah pendakap kerinting.

    Barisan 4 adalah untuk penyelesaian

    for(i=0;i<5;i++)j++;
    变成
    for(i=0;i<5;i++)
        j++;

    Baris 5~6 ialah teks penuh diinden secara automatik
    Nota ^M tidak dimasukkan secara langsung, tetapi diperoleh dengan "ctrl+v"+"Enter".

    Tetapi ini hanya menyelesaikan masalah format
    Penyoal berkata bahawa dia perlu "memformat" kod daripada gelung for kepada kod dengan sementara
    Saya rasa ia salah taip?

    balas
    0
  • ringa_lee

    ringa_lee2017-05-16 16:35:49

    Malah, secara tegasnya, vim tidak boleh mengendalikannya. Apa yang gg=G boleh lakukan ialah melaraskan lekukan dalam unit garisan. Sangat memerlukan alat luaran seperti lz, seperti indent. Andaikan anda mempunyai konfigurasi inden yang sempurna. Kemudian anda boleh menggunakan %!indent untuk melakukannya dalam vim

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 16:35:49

    Pilih garisan yang anda mahu inden, tekan V besar untuk memasuki mod baris, dan kemudian terus tekan >inden kanan, <inden kiri, dan susun sahaja baris demi baris_(:з ∠)_

    balas
    0
  • Batalbalas