textobj-context をつくった
この記事は Vim Advent Calendar 2012 191日目の記事になります。
少し前になるんですが、Shougo さんと共同で context_filetype.vim というプラグインを作成しました。
これは何をするプラグインかというと
python << EOF print "hello, python world" EOF
のようなコードからそのコンテキストの範囲(python << EOF 〜 EOF の間)やその filetype を取得する為のライブラリプラグインになります。
上記の場合だと if_python の中にカーソルがあるとその範囲なんかを取得する事が出来たりします。
元々は neocomplcache の機能の一部として実装されていたんですが、わたしが別のプラグインでも使用したかった為、独立してプラグイン化されました。
既に neocomplete.vim などではこのプラグインを使用するようになっています。
[textobj-context]
ライブラリとして作成したのでこのプラグイン単体では基本的に何も行わないのですが、それだとちょっと物足りないのでこのプラグインを使用した textobj を作成しました。
[インストール]
NeoBundle "osyo-manga/vim-textobj-context" NeoBundle "Shougo/context_filetype.vim"
[マッピング]
omap ic <Plug>(textobj-context-i) vmap ic <Plug>(textobj-context-i)
[注意]
quickrun.vim の
ここら辺の問題に対しては次回の Vim Advent Calendar で詳しく説明したいと思います。