Bagaimana dengan cepat memformat kod ini dalam vim?
高洛峰
高洛峰 2017-05-16 16:33:49
0
9
635
#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;
}
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(9)
仅有的幸福

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.

phpcn_u1582
gg=G
左手右手慢动作

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

黄舟

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

Jika anda memasang astyle

PHPzhong

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

小葫芦

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?

左手右手慢动作

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

洪涛

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_(:з ∠)_

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan