「vis」は、Vim風のオープンソースのテキストエディタ。80%のvimの機能を1%ほどのコード量で実現することを目標に開発されているエディタソフトです。
元々テキストデータの管理方法を解説したProject Oberonの第5章を学習したことがきっかけで、実践的なサンプルを作成するためにvimを置き換える自作エディタの開発を思いついたと開発経緯を説明しています。
ソースコードは"モダンな"C言語を使って記述され、以下の目標の実現に向かって開発されています。
- Unicode対応。
- バイナリファイル対応。
- 巨大なファイルを含む任意のサイズのファイルに対応。
- 無制限のundo/redoサポート。
- 正規表現検索/置換。
- 複数ファイル/ウィンドウサポート。
- config.def.hを使って拡張/設定可能。
コンパイル方法
バイナリは配布されていないので、visを使用するためには、自前でコンパイルする必要があります。
git clone https://github.com/martanne/vis cd vis make
といっても、とても簡単です。git cloneしてmakeするだけ。
OS Xだと少し警告が表示されましたがコンパイルに成功しました。あとは「./vis ファイル名」でファイルを編集することができます。
まとめ
キーバインドのみならず、テキストデータの管理方法、キャッシュ、Undo/redoなどの実現方法など技術的な詳細に関するドキュメントも充実しています。
ソースファイルとファイルの機能を一覧化した表まで掲載されてあって親切です。自作エディタの開発を目指す方にとても参考になりそうなプロジェクトだと思います。