キーストロークと状態を渡すと、新しい状態とアクションが返ってくる
純粋な TypeScript。ランタイム依存なし。コアエンジンはわずか 2.8kB gzipped
React、Vue、Svelte、バニラ JS。薄いラッパーで動作
ブラウザで動く本物の Vim エディター
Normal、Insert、Visual、Visual-Line、Visual-Block、Command-Line
w, b, e, 0, $, gg, G, f, t, /, ? など
d, c, y, >, < をカウントやモーションと組み合わせ
iw, aw, i", a(, it など
/pattern, :s/old/new/g
マクロの記録・再生、名前付きマーク
すべてが純粋関数。DOM アクセスなし。副作用なし。
keystroke + state processKeystroke() newState + VimAction[] オープンソースで構築。MIT ライセンス。