Vimを使っているとWeb上に存在するリソースもVimで扱いたくなることがあります。そんな時の強力なお供がmattnさん作のwebapi-vimです。webapi-vimを利用することで簡単にWeb上のリソースをvimに取り込むことができます。webapi#http#getやwebapi#http#postを呼び出すことでcurlで通信した結果を取得できます。scriptのディクショナリやリストにデータを変換してくれます。Web上のリソースを扱う時、保存方法に良く使うテクニックがbuftypeオプションとBufWriteCmdです。endifendfunctionbuftypeをacwriteに指定する事で、:writeコマンドの実行時に発生するBufWriteCmdイベントでファイルを書き込む処理を行うことができます。scriptで書いた関数を呼び出せばオーケーです。そこでwebapi-vimを使えば、Web上に何かを投稿するような処理をVimで普通に編集して保存するような感覚で利用できます。autocmdでコマンドを定義する時にはバッファローカルにしておかないと暴発するので注意しましょう。BufWriteCmdからファイルを書き込む時には、ちゃんとmodified状態を無効にする処理を書いておく必要があります。普段の:writeコマンドと違って自動では処理してくれません。最近、このwebapi-vimを利用してPluginを作ったので紹介しておきます。requestの一覧を参照したり、変更されたファイルのdiffをvim上で表示するプラグインです。UIで見るよりvimで見た方がファイルの差分を確認しやすいのでは?と思って作りました。Vimからレビューコメントを送信することができます。差分表示画面でEnterを押すと新しくコメント用のバッファが開くので、そこにコメントを書いて普通に保存するように:writeを実行すると、Enterを押したカーソルの行に対してレビューコメントが送信できます。vim上の表示とgithubのコメント対象行を一致させるのが困難だったので、既に存在するファイルを編集した差分の場合は、下部に表示されているdiffデータのバッファからしかコメントが投稿できないのが難点の一つです。requestの一覧を最新30件しか取得できないとか、まだまだ機能不足な点がありますが興味があったら使ってみてください。scriptに詳しくなくても、webapi-vimのおかげで比較的簡単にvimからWeb上のリソースを編集することができるようになります。webapi-vimで良く利用するWebサービスをVimから扱う快感に酔いしれましょう。