2013年5月26日日曜日

vimperatorでプラグインをリロードする


便利プラグイン walk-input.js

vimperator の plugin に walk-imput.js というものがあります。

https://github.com/vimpr/vimperator-plugins/blob/master/walk-input.js

<M-i> を押すたびに入力欄に順番にフォーカスが移るというもので、使ってみるととても便利です。


突如動かなくなった…

しかし、自分の環境ではふとした時に動かなくなることがありました。

例えば、下記のようなパターン。

自分は .vimperatorrc を変更した時に下記のように<C-r> でリロード出来るようマッピングしています。

map <C-R> :mapc<CR>:cmapc<CR>:imapc<CR>:source ~/.vimperatorrc<CR>

で、ちょっと設定を変更して .vimperatorrc をリロードした後、ふとした時に <M-i> を使うと…


∑(゚Д゚)ガーン

こんな画面期待してないよ…ってことになります。

これはどうも再読み込みした際に、プラグインのマッピングがリセットされてるっぽいです。
(まぁそもそもは <M-i> が firefox デフォのショートカットと重なってるからこうゆうことになるんだと思いますが…)


解決策:プラグインをリロードする

で、とりあえず解決策としては、下記のように plugin もリロードしてあげればOKでした。

map <C-R> :mapc<CR>:cmapc<CR>:imapc<CR>:source ~/.vimperatorrc<CR>:source ~/.vimperator/plugin/walk-input.js<CR>

ホントは plugin ディレクトリ配下を全部リロードしたかったのですが、
どう書けばいいのか分からなかったので、ひとまず walk-imput.js のみ。

これで安心。


おしまい。

0 件のコメント:

コメントを投稿