高い生産性を持ち多くの開発者から人気のテキストエディタ「Vim」。
これまでにすでに多数のプラットフォームに移植されていますが、本日紹介する「vim.wasm」は、そのなかでもかなりユニークなWebブラウザで動作するバージョンのVimです。
VimのCのソースコードをWebブラウザのクライアントサイドで動作する低水準のプログラミング言語WebAssembly(wasm)に変換し、ブラウザ上でVimの機能を実現するという仕組みです。
現在まだ開発作業は継続中で、Vimの全ての機能を使用することはできませんが、Vimの基本的なカーソル移動などは利用可能で、今後の発展に期待ができるものとなっています。
vim.wasmの使用方法
vim.wasmを使用するには公式サイトにブラウザでアクセスするのが簡単です。macOS版のChromeでアクセスすると以下のような画面が表示されます。
▲サイトトップを表示した状態で「i」キーを押すとインサートモードが有効になり、ブラウザ上で文字を入力していくことができます。ESCキーを押してノーマルモードにすると「hjkl」キーなどを利用してカーソルを移動することができます。
▲「:e tutor」を実行すると「VIM Tutor」を表示することもできます。VIM Tutorではカーソルの移動方法やファイルの編集方法などVimの基本を学ぶことができます。
まとめ
vim.wasmは人気エディタVimをブラウザで動かすことを目指す野心的なプロジェクトです。作者りんだん氏のブログによると、今後Vimの基本機能の拡充のほか、マウスやクリップボード、マルチバイト文字、IMEのサポートも計画されているようです。技術的な詳細に関しても詳しく解説されていますので、実装方法が知りたい方は参照してみてはいかがでしょうか。