検索

ホームページ  >  に質問  >  本文

vim でこのコードをすばやくフォーマットするにはどうすればよいですか?

リーリー
高洛峰高洛峰2743日前610

全員に返信(9)返信します

  • 仅有的幸福

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

    実は、これには元々の書き方が大きく関係しています。
    #include<stdio.h>
    int main(int argc, char *argv[])
    {
    for(i in f){
    if(i ==9 ){
    printf("1");
    } else{
    printf("2");
    }
    }
    }
    上記のように書くと、gg=G を使用した結果は素晴らしいものになります:
    #include<stdio.h>
    int main(int argc, char *argv[])
    {

    リーリー

    }

    完璧です。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 16:35:49

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-05-16 16:35:49

    実際、私がよく使うのは、ビジュアル モードで、行の先頭に移動して、「Shift + 」を同時に押すことです。

    返事
    0
  • 黄舟

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

    !astyle --style=[希望の形式] -p -H --suffix=none %

    astyleをインストールした場合

    返事
    0
  • PHPz

    PHPz2017-05-16 16:35:49

    ステップ 1:ggvG ///< 先回到首行, 然后选择模式, 全选代码
    第二步:= ///< = 通常、均等なレイアウトに使用されます。ここでは、複数の分割がある vim では、各分割のサイズを均等に調整することもできます。

    返事
    0
  • 过去多啦不再A梦

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

    gg
    vG
    =

    返事
    0
  • 高洛峰

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

    はい、10086 と tdblq は質問の括弧の要件に注意を払いませんでした。

    先に注文してください

    リーリー

    1〜3行目は中括弧の問題を扱っています。

    4行目は解決策です

    リーリー

    5~6行目は自動インデントされた全文です
    注意 ^Mは直接入力するのではなく、「ctrl+v」+「Enter」で取得します。

    しかし、これらはフォーマットの問題を解決しているだけです

    質問者はコードを for ループから while を使ったコードに「フォーマット」する必要があると言いました
    それはタイプミスだと思いますか?

    返事
    0
  • ringa_lee

    ringa_lee2017-05-16 16:35:49

    実際、厳密に言えば、vim はそれを処理できません。 gg=G でできることは、行単位でインデントを調整することだけです。実際には、lz (インデントなど) のような外部ツールが必要です。完璧なインデント構成があると仮定します。次に、%!indent を使用して vim でそれを行うことができます

    返事
    0
  • PHP中文网

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

    インデントしたい行を選択し、大きな V を押して行モードに入り、>右インデント、<左インデントを直接押して、行ごとに配置するだけです_(:з ∠)_

    返事
    0
  • キャンセル返事