vimrc の一部を分離して scall.vim 作った

昨日の TokyoVim の成果。

https://github.com/thinca/vim-scall

何かと言うと、去年のVim Advent Calendar(2周目)で紹介した関数をまんまプラグインにしただけです。スクリプトローカルな関数を呼ぶための関数を提供するプラグイン
しかし、元々の S() と言う関数名にするには s.vim にする必要があって、これはさすがに短すぎるので、scall.vim として Scall() を定義するようにしました。
また、やっぱり S() で呼び出したかったので、関数名を変更するオプションを用意してあります。プラグインが読み込まれる前、つまり vimrc などで以下のようにしておきます。

let g:scall_function_name = 'S'

これで S() で呼び出せます!
ついでに、関数名を省略して現在のカーソル位置の近くの関数を呼び出す機能を追加してみた。

echo Scall('', arg1, arg2)

こうすると、現在編集中のファイルのカーソル位置から上方向にスクリプトローカルな関数の定義(:function s:hoge() の行)を検索してその関数を呼ぶ。便利かどうかはまだ使ってみてないのでわからん。

てわけで、もし vimrc にコピペしている方がいましたら、今後はこのプラグインを使ってもらえれば大丈夫です!