2013年もあと少しです。今年も Vim に関する色んな話題が登場しました。
そして数多くの Vim plugin が今年も登場しました。
- ステータスバーをスタイリッシュにするプラグイン
- Markdownをプレビューするプラグイン
- 正規表現をプレビューするプラグイン
- ブラウザと通信するプラグイン
- 補完プラグイン
- 貴様!?まさか!
- そのまさかだ!フハハハハハハ...
何名かの方には Vim 7.4 のリリース後も動作検証に協力頂きましたし、Vim advent calendar 2012 は結局1年を通して記事をポストし続けてしまいましたし、vimrc読書会も毎週続けられ、Vim に関するイベントも多く開催されました。
個人的には9月に KoRoN さん、h_east さん、ytaniike さんとお好み焼きを食べに行った事も良い思い出になりました。ありがとうございました。
来年も Vim にとって良い年である事を切に願います。
さて、今年作られた Vim plugin、どれも良い物でしたが僕がいつも思う事はこんな事です。
Vim プラグインとは言え、作るからには人々の暮らしを豊かにしなければならないッ!僕は Windows を良く使います。僕の Vim script 力で Windows ユーザを豊かにしたい、くじけそうになっている人を Vim で救いたい。モテたいと願っている青年達を Vim でモテモテにしたい。そう願って今年も新しいプラグインを作りました。
mattn/startmenu-vim - GitHub
https://github.com/mattn/startmenu-vim
CtrlP や Unite で Windows のスタートメニューが扱えます。
これでいちいちマウスに手を伸ばしてスタートメニューをクリックし、ポチポチとツリーを展開したり検索語を入力していく必要もありません。
あえて日本語ロケールの名称で一覧していませんので、IME を使わず英名でマッチします(ショートカット名が日本語の場合は頑張って下さい)。これで Vim から Excel 等を簡単に起動出来る様になりました。
会社で Vim から Excel 起動したら、きっと同僚の眼差しも「センパイッ!すごい!」となるでしょう。
もっと豊かに、もっと豊かに...
そうだ...そうなんだ。僕のプラグインで便利になったのはプログラムの起動方法でしかないッ!Windows ユーザはそのランチャーから起動した Excel で設計書を閲覧するんだ!彼らの生活を豊かにする為には、Vim で Excel を開けなければならないんだァッ!!これはもう、Vim で Excel を見れる様にするしかない!!1
そう思って、もう一つプラグインを作りました。
mattn/excelview-vim - GitHubてっとりばやく言うと、Vim で Excel を閲覧出来ます。
https://github.com/mattn/excelview-vim
:ExcelView Book1.xls
で表示出来ます。シート番号を指定して
:ExcelView Book1.xls 2
という開き方も出来ます(この辺は、今後もしかしたら変更するかもしれません)。こんな Excel ファイルであれば
こう表示されます。
xlsx 形式(Excel 2007形式)のファイルしか読めないです。今後、もしかしたら CSV には対応するかもしれません。実行には webapi-vim が必要です。
ちなみに Pure Vim script の XML パーサでこんな事やってます。
let doc = webapi#xml#parse(xml)
let rows = doc.childNode("sheetData").childNodes("row")
let cells = map(range(1, 256), 'map(range(1,256), "''''")')
let aa = char2nr('A')
for row in rows
for col in row.childNodes("c")
let r = col.attr["r"]
let nv = col.childNode("v")
let v = empty(nv) ? "" : nv.value()
if has_key(col.attr, "t") && col.attr["t"] == "s"
let v = ss[v]
endif
let x = char2nr(r[0]) - aa
let y = matchstr(r, '\d\+')
let cells[y][x+1] = v
endfor
endfor
今の所、制限事項として 256x256 のデータしか表示出来ません。それ以上のデータを読み込むとエラーが発生します(改良の予定です)。これでとても豊かになりました。ssh でサーバにログインしている開発者が Excel で仕様書を送りつけられても椅子を投げる事も無くなると信じています。
良い年末をお過ごし下さい。