2011-10-27 8 views
3

gVim自動フォーマット(C#)コードを使用できる方法はありますか?私はインデントを話すだけではなく、実際にフォーマットすることです。vimで(自動インデントだけでなく)自動フォーマットする方法は?

public void Program() 
{ 
    ... 
} 

や他の方法で回避に

public void Program() { 
    ... 
} 

を変更するように。それはマクロ、プラグイン、または何か他のもの(formatexpr?)ですか?

私はここでVisual Studioの書式を真似しようとしています。私は}と入力して、すべてがうまく見えるようにしたいと思います。

+0

ビジュアルモードで一連の行を選択し、 '<,'>!indent(適切な引数を指定して)を行うことができます。 C#のgnuインデントがどれほど有用かわかりません。 – cdleonard

+0

私はインデントがcmdlineツールだと思いますか?私は私の(窓)マシンでそれを持っているとは思わない。 (windowsタグを追加) – dvdvorle

答えて

1

Vimには本来の方法はありません。しかし、あなたはAStyleに興味があるかもしれませんが、many options

astyle --helpが表示されます。多くのプリセットが利用可能です。

vimでは、:%!commandでドキュメントをフィルタリングできます。ここで、commandはstdinの現在のバッファを受け取ります。現在のバッファはコマンドの出力に置き換えられます。コマンドがstdinから読み込むのではなく、代わりにファイル名を引数とする場合は、%を使用します。したがって

:%!C:\astyle\bin\astyle.exe -A1 

はそれを行います(あなたが良いのパスに置き換えて)。

+0

これは私が今使っているものです。ありがとう! – dvdvorle

0

コマンドgqがコードをフォーマットします。スタンドアット形式のルール(:help formatexpr)に満足できない場合は、formatprgを介して独自のコードフォーマッタを使用できると思います。 C(または同様の言語)をインデントするには、vim native c-indent、:help C-indentingも読むことができます。シンデントメソッドは、あなたが望むことを実行できる必要があります。

関連する問題