Vim 8.0 リリース!

Vim 8.0 released!

Vim 8.0が先ほどリリースされました。10年ぶりのVimのメジャーバージョンアップです。

Vimのバージョンをcronで毎日上げ続け、最新のパッチを確認し続ける日々を送ってきました。そして、今日も夜11時のcronでバージョンが上がりました。新しいメジャーバージョン、8.0でした。

ここ一年はVimにとって様々な重要な機能が入りました。JSONエンコーダーとパーサー、パッケージ機構、channelとjob、タイマー、ラムダ式など、プラグイン製作者にとって大事な機能ばかりです。今後、より高度なプラグインがでてくることでしょう。これらの機能に対する日本人の貢献は素晴らしいものです。

リポジトリGoogle codeからGithubに移動するという重要な決定も行われました。この決定の過程にも、vim-jpの皆さんが深く関わっています。私は傍から応援することしかできませんでしたが、皆さんの貢献によりVimの開発が更に活発になっていくのを嬉しく思いました。

新機能のうちすぐにユーザーが設定したり使用したりできる機能もたくさんあります。 set breakindent を設定しましょう、インデントのある長い行の折り返しの見た目が美しくなります。検索中に<C-g>, <C-t> を押してみましょう、カーソルはコマンドラインのまま、ハイライトを移動することができます。ビジュアルモードのg<C-a>, g<C-x>で連番を作れるようになりました。便利な機能がいっぱいです。

個人的に嬉しかったのは、getwininfo()でlocation listかquickfix listか判別できるようになったことです。この2つはコマンドが全く違うのに、これまで正しく判別する方法がありませんでした。これからは自信を持って、これらを区別するコードを書くことができます。

また、最近入ったScalaのサポートも嬉しいものでした。私はVimScalaを書いています。プラグインを使えば何不自由なく書けるのですが、やはりVimに正式にScalaのサポートが入った (有名なScalaプラグインが本体に取り込まれた) ことは大事なことです。Scalaを書く道具を迷っている人に、胸を張ってVimという選択肢を提案することができます。

最新のパッチをずっと追いかけている人にとっては連続した道の通過点に過ぎません。8.0がリリースされた後も、矢継ぎ早に8.0.0001, 8.0.0002とパッチは上がり続けています。しかし、メジャーバージョンを上げるというBramの決意には、こんなにも素晴らしい新機能が入ったVimをもっと多くの人に使って欲しいという思いが感じられます。

私はVimを開発されている皆さんが好きです。Vimプラグインを書かれている皆さんが好きです。Vimを使っている皆さんが好きです。

そしてVimが大好きです。新時代の幕開けに、祝杯を。