2012-01-10 14 views
2

インデントや構文ファイルのデータに基づいて任意の言語のコードブロックを自動的にラップするvimの構文構造を閉じるプラグインはありますか?例えば自動的にコードブロックの構文構造を閉じるvimにする

私は

function myfunction() 

を書くとき、私は、Luaのファイルを編集し、キーを押し決算は、誰もがあなたを作成する方法の例を示すことができる

function myfunction() 
    <cursor position> 
end 

または多分を「終了」作り、それを自動的に入力します。 (lua、erlang、またはpascalのような)コードブロックの長いキーワードを持つ特定の言語用の独自のプラグインですか?

答えて

3

Endwiseあなたが探しているようです。既にluaのサポートがあり、VimLに慣れていれば、かなり拡張が容易なようです。

+0

まさに私が探しているもの! –

3

UltiSnips(私のお気に入り)やSnipmateのようなスニペットプラグインを使用します。基本的に小さな単語やテキストをコードの大きな部分に展開し、構造ごとに固有の部分だけを編集できるようにします。 UltiSnipsとSnippmateには多くの言語のスニペットが含まれており、独自のスニペットを作成できます。

たとえば、UltiSnipsにはLua用の関数スニペットが含まれています。私はちょうどfunを入力してからタブを押す必要があり、それは選択されたので、私は関数名を編集することができます

function new_function(args) 

end 

new_fuctnionに拡大します。私はCtrlキー押したら、次に - Jを(私のvimrcで私はタブにこれを再バインド)それは私が、関数の引数を入力することができ、この場合にargsあるスニペットの次の部分を選択します。最終Ctrl - jは、関数の本体にカーソルを置きます。

関連する問題