ブラケット( '{}'、 '[]'、 '()')を自動的に閉じ、(少なくとも '{}'の場合)キャリッジリターンを挿入するVim 7.4用のWORKINGプラグインはありますか?
私はこの質問が何度も聞かれたことを知っていますが、vim 7.4でうまくいかないようであるか、プラグインが更新されていないか、何かがありません。
これまでのところ、vim-smartinput、autoclose、delimitmateを試してみましたが、プラグインを有効にしているとアクティブになっているように見えますが、これらのどれも終了文字を挿入できませんでした。これらのプラグインを何らかの形で壊すvimの変更があったかどうかはわかりません。これらのプラグインはどれも、少なくとも1年は更新されないようです。 vim 7.4で動作する実用的なソリューションはありますか?
プラグインがどれも私にとってうまくいかないように思えた理由を見つけたので、私は自分の質問に答えています。問題はvimのmksession機能に関連しているようです。保存されたセッション内でこれらのプラグインのみを試していましたが、何らかの理由でプラグインが何らかの理由で機能しないようです。プラグインはインストールされ、正常に「動作」しているようです(プラグインからのコマンドが見つかった場合など)。保存されたセッションを開かずに、少なくともdelimitMateが機能し始めました。
バニラvim
を必要とする私たちにとって:
inoremap " ""<left>
inoremap ' ''<left>
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap {<CR> {<CR>}<ESC>O
inoremap {;<CR> {<CR>};<ESC>O
set paste
が設定されていない場合、insert
モードでのこのオートコンプリート。毎回入力しないようにvimrc
に保持し、マッピングが必要ない場合は、次を使用してエスケープする必要があります。 ctrl + v ( {
などのようなマッピングされた文字を入力する前.
UbuntuのVim 7.4.131でPathogenを使用して、 ClosePairs 、 AutoClose 、 DelimitMate および AutoClose をテストしました。
驚くことではありませんが、それらはすべて機能します。
「7.4で動作する自動終了プラグイン」を検索していないため、質問は言い換える必要があります。あなたが尋ねるべきことは、「ここに私のセットアップがあります。なぜ「自動クローズ」プラグインがどれも私のために機能しないのですか?」です。
「これは混乱です。まず、行95の前のすべてをコメント化することから始めてください。」
また、Vimは非常に安定した環境です。「積極的に作業されていない」ということは、「試す価値がない」という意味ではありません。実際、まったく逆です。
に投票する delimitMate 怒っているmodが意見に基づいているという質問を閉じる前に。
xptemplate は、ブラケット/ブレース/などを自動補完するオプションを含むスニペットプラグインです。インストールして設定する
let g:xptemplate_brace_complete = '([{'
あなたの.vimrc
。同じ行から始まりますが、Enterキーを押すと、正しい位置に配置されます。