1

重複の可能性:
Vimのオートコンプリートメソッド構造

そのため、vimにはスマートオートコンプリート機能があり、新しい行で「{」と「}」をオートコンプリートし、Eclipseのようにコントロールを次の行にリダイレクトします。したがって、「{」と入力してEnterキーを押すと、

{
  |
}

ここで'|' カーソル位置を表示します。「def」と書くとすぐに結果が出るルビーの日食スタイルが欲しい

def |
end

問題は、これは「def」が行の先頭にある場合にのみ有効になり、それ以外の場合には有効にならないことです。

4

2 に答える 2

2

endwiseという名前のプラグインがあるようです。試したことはありませんが、必要なもののように聞こえます。

于 2012-10-05T18:21:33.147 に答える
0

これには、プラグインもお勧めします。テキストを展開する一般的なプラグイン(ただし、通常、展開はあなたが押したときにのみ発生し、追加のキーのようなものtabは snipmate または私のお気に入りのultisnips .

これらのプラグインと適切なスニペットを使用すると、入力def<tab>すると、好きなものに展開されます. ultisnips では、行頭のみを展開するオプションが提供されることは知っていますが、snipmate についてはわかりません。

プラグインを使用したくない場合は、.vimrc で次のように定義すると、目的が達成されます。

imap <expr> def (getpos(".")[2] == 1) ? "def\<CR>end\<UP> ":"def"
于 2012-10-05T22:41:20.883 に答える