1

このようなPHPコードをフォーマットするにはどうすればよいですか

class SomeClass
{
    function insideclass()
    {


    }
} 

これに、外部ツールなしでVimを使用しますか?

class SomeClass {
    function insideclass() {


    }
} 

これがコードをフォーマットする最良の方法であると主張しているわけではありませんが、これは私たちがチームでフォローしているものです.

編集:スニペットアドオンへの参照を削除したため、質問について混乱が生じました。

4

3 に答える 3

4

2 つの無関係な問題があり、両方に対する固有の解決策が見つからない場合。

  1. classデフォルトのスニペットが気に入らない。

    問題ない。まだ存在しない場合~/.vim/snippets/php.snippetsは、他の回答に従って、チームのルールに合わせて作成およびカスタマイズします。Snipmate は、自分のコーディング スタイルに適応できるほどスマートではありません。

  2. 既存のコードの一部がコーディング ルールに準拠していません。

    Snipmate は、変換ではなく挿入のみを処理するため、まったく役に立ちません。外部ビューティファイアまたはいくつかのマクロが必要になります。

    編集

    これは、サンプルで必要なことを正確に実行する非常に単純なコマンドです。すべての場所で機能することを保証するものではありません。素朴な出発点としてそれを取ってください。

    :g/^\s*{\s*$/normal kJ
    
    • :g/patternを含むすべての行に作用します。patternを参照してください:h :global

    • ^\s*{\s*${それらと行頭の間の空白の量に関係なく、すべての単一に一致します。

    • normalnormalコマンドを実行します。 を参照してください:h :normal

    • kJは 1 行上にJ移動し、この行に一致した行を追加します。

    • 終わり。

    終了編集

于 2012-04-12T07:58:49.160 に答える
2

そのアドオンのソースコードを変更してみませんか?

たとえば、次のように変更します。

snippet class
    /**
     * ${1}
     */
    class ${2:ClassName}
    {
        ${3}
        function ${4:__construct}(${5:argument})
        {
            ${6:// code...}
        }
    }

snippet class
    /**
     * ${1}
     */
    class ${2:ClassName}{
        ${3}
        function ${4:__construct}(${5:argument}){
            ${6:// code...}
        }
    }
于 2012-04-12T06:54:51.623 に答える
0

スニペットのスニペットはすべてディレクトリに保存されます。そのディレクトリに移動し、必要なファイルを編集します。

ディレクトリはvimディレクトリに保存され、snippets. そこにphp.snippetsファイルがあります。そのファイルに移動すると、70 行目でクラスのスニペットを編集できます。

于 2012-04-12T06:56:33.190 に答える