投稿

7月, 2013の投稿を表示しています

あなたの Vim は もっと Smart に Input できる

この記事は Vim Advent Calendar 2012 の 222 日目の記事です。

みなさま、こんにちは
もぷりです。
私の住む地域では、まだまだ梅雨が続いているにもかかわらず 連日が30度超とふざけてるのか?と思うくらいにジメジメと暑いです。 「這いよれ!ニャル子さんW」も無事放送終了し、少し残念な気持ちに浸っているところになんて天気でしょうかね。
さてさて、本日の内容は Kanaさんこと、偉大なるVim神(グレートヴィムゴッド)によって作成された SmartInputSmartChr この2つのPluginについてです。 数多のVim Pluginの中でもかなり強力なPluginだと思います。
単体でも十二分に有用ですが、それぞれの出来る事がきちんと分かれています。 それら2つを良い感じに組み合わせて使用する方法を紹介します。

組み合わせることで以下が出来るようになります。

SmartChrに条件を追加出来るSmartInputに繰り返させる

早速、コード例は以下です。
NeoBundleLazy 'kana/vim-smartchr', { 'autoload' : {'insert' : '1'} } NeoBundleLazy 'kana/vim-smartinput', { 'autoload' : {'insert' : '1'} } " Smartinput let s:bundle = neobundle#get('vim-smartinput') function! s:bundle.hooks.on_source(bundle)  " ***ここから!*** call smartinput#map_to_trigger('i', '%', '%', '%') call smartinput#define_rule({ \ 'at' : '\%([^''"][\sA-Za-z]\*\|^\|%\)\%#…