1976年、Sun Microsystemsの共同創立者の1人であり、BSD UNIXの開発者であるBill Joy氏は、300ボーのモデム接続で使えるテキストエディタを必要としており、「vi」を生み出した。Joy氏によれば、「Emacsを使っていたのはMITの研究室に座っていた連中で、今で言えばホストに光ファイバで接続していたようなものだった」という。史上もっとも古くから続くテクノロジ宗教戦争がこの頃始まった。
今日ではほとんどのユーザーがグラフィカルなテキストエディタを使用しているが、多くの開発者は現在もviか、新しいviのクローンである「Vim」、またはEmacsを使用しており、それぞれが自分の使っているエディタに思い入れを持っている。
開発されてから約30年が経過したVimには、あまり大きな改善の余地は残っていない。しかし最後のアップデートから10年経った今になって、「Vim 8」がリリースされた。
このリリースの変更内容は、目立たないバグ修正だけではない。かなり大きな改良も含まれている。
非同期I/Oのサポート:チャネルを通じて、バックグラウンドでほかのプロセスとメッセージを交換できるようになった。これによって、サーバで処理を実行させ、その結果をVimに反映させることが可能になった。
また、JavaScript Object Notation(JSON)もサポートされた。JSONは幅広く利用されており、プロセス間通信も簡単に利用できる。また、さまざまな言語で複雑なプラグインを作成して、別のプロセスで実行することも可能になった。
ジョブ:Vimからジョブの開始、ジョブとの通信、ジョブの停止ができるようになった。これらの機能は、文字列補完や文法チェックなどのためにプロセスを実行するのに便利だ。ジョブとの通信にはチャネルを使用する。また、ほかのジョブからのVimのバッファやファイルへの読み書きも可能になった。
タイマー:非同期タイマーがサポートされた。タイマーを使って、任意の作業を行う関数を1度、あるいは繰り返し呼び出すことができる。
プラグインパッケージのサポート:増え続けるプラグインの数に歯止めをかけるため、プラグインの管理パッケージがサポートされた。この機能を使用することで、プラグインの入手や、ディレクトリへの登録が容易になり、プラグインを最新の状態に維持することも可能になる。パッケージは自動的に読み込むことも、必要な時だけ読み込むこともできる。
Window ID:これまで、Vimのウィンドウには、数字でしかアクセスできなかった。またこの数字は、ウィンドウを開くたびに変わっていた。今バージョンから、各ウィンドウには一意のIDが付与されるようになったため、ウィンドウを見つけやすくなった。
インデント付き自動折り返し機能:インデント幅を変えずに行を折り返すことができる、「breakindent」オプションが追加された。
ほかにもいくつか、大きな改良点がある。インターフェース面では、「Microsoft Windows」の「DirectX」と「GTK+ 3」のGUIツールキットがサポートされた。
Vim 8はLinux、UNIX、Windows、Mac用OSで利用できる。また、「AmigaOS」などのあまり利用者が多くない、その他のOSでも利用可能だ。最新のBSDやLinuxのディストリビューションでは、自動的にアップデートされる。

提供:ZDNet
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。