読者です 読者をやめる 読者になる 読者になる

Sublime Text 2 のあの機能を使う

vim event

Vim Advent Calendar 2012 の 3 日目の記事です。

前回の kaoriya さんの記事でも触れられていましたが、Sublime Text 2、最近とても注目されていますね。私の周りにも使っている人をちらほらみかけます。
これだけ人気があるのだから、何か秘密があるはず。人気のある機能があるのではないか。その機能を Vim に移植できれば、Vim がもっと便利になるのではないだろうか。そう考えた私は、ちょっと調べてみることにしました。
色々便利な機能があるようですが、前回の minimap 然り、いくつかの機能はすでに移植が試みられているようです。そんな中今回は Sublime Text 2 の以下の機能に注目してみました。

このダイアログです。これは Sublime Text 2 を使っていると保存時に時折表示されるもののようで、この機能は無効にもできるようですが、有効にして使っている人がかなりいるようです*1
細かいことはよくわからないのですが、多くの人が使っている機能ならば、便利に違いない。そこで今回、この機能を実現する Vim プラグインを作ってみました。

plz_donate.vim

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

これをインストールすると、保存時にたまに以下のようなダイアログが表示されるようになります。

どのような頻度で出るのかは Sublime Text 2 の挙動を参考にしようと思ったのですが、Sublime Text 2 はソースコードが公開されていない不自由なソフトウェアであり、また私自身が体感できるほど Sublime Text 2 を使い込んでいなかったためよくわかりませんでした。そこでとりあえず適当に3時間毎+10回書き込む度にしてみました。
また、そのまま移植してもおもしろくないので、この時間と回数は設定できるようになっています。詳細は help を参照してください。
そして、国際化にも対応してみました。日本語リソースは標準で付属しているので、日本語環境で Vim を使っている人は以下のように日本語でダイアログが表示されます。

よくわかりませんが、これで Vim がより便利になったと思われます!

Q & A

  • Q. ダイアログで OK を押しましたが、何も起こりません。
  • A. OK を押すとブラウザが開きます。ブラウザを扱えない環境の場合は、残念ですが何も起こりません。ご了承ください。
  • Q. ダイアログじゃなくて一番下のメッセージ領域にプロンプトみたいなのが出てきました。
  • A. CUI 環境ではダイアログは出せないため、そのようになります。
  • Q. 寄付したのだけど、まだダイアログが出ます。
  • A. 寄付は何度でも可能です!
  • Q. ダイアログが出てきて邪魔なんだけど。
  • A. プラグインをアンインストールしてください。

明日のVim Advent Calendarは @ さんです。

*1:要出典