コンピューターの歩みはテキストエディターのそれと同じです。テキストファイルの作成や編集に欠かせないテキストエディターは、現行のOSであるWindows 7のメモ帳やMac OS XのTextEditのように標準搭載されていることからも、その重要性を理解できるでしょう。「世界のテキストエディターから」では、Windows OS上で動作する世界各国のテキストエディターを不定期に紹介していきます。

世界中のプログラマが使う「vi」の歴史

今回紹介する「Vim」を語るためには、その歴史を紐解く必要があります。そもそもVimは、「vi」の上位互換テキストエディターであり、viはBSDの創始者であるBill Joy(ビル・ジョイ)氏が開発環境を整えるために開発したテキストエディターです。1970年代は現在のように、複数の行が表示されるスクリーンエディターではなく、編集業のみが表示されるラインエディターが主流でした。

これは、当時のコンピューターが持つ表示能力に起因し、電動機械式タイプライターとして使われていたテレタイプ端末や低速なモデムといった制限下で、文字入力や操作に用いるコマンドを最小限で行うために実装された機能です。蛇足ですが、初期のパソコン通信では、edの編集形式を備えるホストが少なくありませんでした(図01)。

図01 Linuxディストリビューションに搭載された「ed」。通常入力とコマンドによる操作が特徴的です

そして、技術が進歩することで前述の制約はなくなり、視覚的に把握しやすく編集しやすいスクリーンエディターが登場する様になりました。その発端と言えるのがviの誕生です。viはedを祖先に持つテキストエディターのため、現在のOSを使っているユーザーには特殊に感じる操作体系を採用しています。

文字入力を行うインサートモードと、カーソル移動や編集を行うコマンドモードなど複数のモードを切り替えることで、テキスト編集を行うため、当初は戸惑うユーザーは多かったのでしょう。[h]キーは左、[j]キーは下、[k]キーは上、[l]キーは右というカーソル移動に慣れるため、同様のキーアサインを用いたゲーム「Rogue(ローグ)」も生まれました(図02)。

図02 viのカーソル移動と同じキーアサインを持つRPG「Rogue」。画面はMS-DOSに移植された「ローグ・クローン2日本語版」です

このviを元に互換エディターとして生まれたのがVimです。元々は作者であるオランダのBram Moolenaar氏が往年のコンピューターAmigaを購入した際に、viを移植したところから始まり、当初はオリジナルのviに近づけることを目標として、模倣を意味する「Vi IMitation」と名付けられました。しかし、開発が進むとオリジナルのviに足りない機能を足し、テキストエディターとしての完成度を高める意味を込めて「Vi IMproved」と名乗る様になります(図03)。

図03 Vimに至る主な歴史

前述のとおり、ed→ex→vi→Vimと進化していますので、基本的なユーザーインターフェースは過去のそれを踏襲しています。そのため、現在の各テキストエディターと比較すると見栄えが悪く、操作を覚えるまでが大変でしょう。しかし、シンプルな操作性に一度慣れてしまえば、独創的なカスタマイズ性など多くのアドバンテージを持つため、ほかのテキストエディターと比べものにならないほど便利になります。

様々なツールをお使いの方なら理解できるように、カスタマイズ性の高さはテキストエディターを選択する上で重要なポイントの一つ。配色や機能までも自由にカスタマイズできるVimが多くのユーザーから愛されてきたのも納得できます。

さて、現在のVimは多くのOSに移植され、GPL互換のチャリティウェアとして公開されていますが、それらのなかでも日本語環境のWindows 7上でVimを使うのであれば、MURAOKA Taro(KoRoN)氏がメンテナンスを行っているVimを使用しましょう。Windows OS上で動作するVimのCUI版(コマンドプロンプト上で実行)とGUI版(Windows上で実行)を配布しています。

本連載でもたびたび触れていますが、テキストエディターを使いこなすには、使用環境に合わせた設定が欠かせません。同氏がメンテナンスするVimでは、日本語を扱う上で便利な設定やスクリプトが追加されていますので、面倒な設定を必要とせず、すぐにVimを使うことができます。是非、多くの愛用者がいるVimの世界を一度はお試しください。