Ruby言語によって作成されたミニマルなテキストエディタ「femto」。
標準のライブラリ"io/console"だけに依存し、単体のファイルだけで構成されたターミナルベースのシンプルなエディタです。
矢印キーによるカーソルの移動や、文字の入力、削除といった基本的な記法のほか、Undoもサポートしている模様。
記事執筆時、まだできたてのプロジェクトのようで、まだ期待通りに動かない機能もありますが、エディタの仕組みに興味のある開発者にとっては参考になるプロジェクトかもしれません。
以下詳細をご説明。
目次
femto
特別なインストーラーは準備されていませんが、git clone等によってファイルをローカルにコピーしてしまえばOKです。
git clone https://github.com/agorf/femto.git
あとは通常のRubyプログラムのように実行します。
cd femto ./femto.rb README.md
実行にはRubyインタプリタが必要です。
以下のショートカットが利用可能です。
Ctrl-Q
終了Ctrl-S
保存Ctrl-P
カーソルを上にCtrl-N
カーソルを下にCtrl-F
カーソルを右にCtrl-B
カーソルを左にCtrl-A
カーソルを行頭にCtrl-E
カーソルを行末にCtrl-D
カーソル位置の文字を削除Ctrl-U
カーソル前のテキストを削除Ctrl-K
カーソル後のテキストを削除Ctrl--
変更を戻すCtrl-R
変更のRedo
MacのRuby 2.4.1 + iTerm2/Terminal2で確認したところ、最初に述べた通り、まだうまく動かない機能が多くありました。また日本語入力もうまくいきませんでした。
このあたり今後に期待かしれません。
まとめ
femtoはRubyで作られたシンプルなテキストエディタです。今のところ実用性は高くありませんが、エディタの開発に興味のある開発者にとっては参考になりそうなプロジェクトです。