vimee

vimee

Web のためのヘッドレス Vim エンジン

純粋関数。ゼロ依存。あらゆるフレームワーク。

vimee とは?

純粋関数

キーストロークと状態を渡すと、新しい状態とアクションが返ってくる

ゼロ依存

純粋な TypeScript。ランタイム依存なし。コアエンジンはわずか 2.8kB gzipped

あらゆるフレームワーク

React、Vue、Svelte、バニラ JS。薄いラッパーで動作

ライブデモ

ブラウザで動く本物の Vim エディター

機能

N I V

6 つの編集モード

Normal、Insert、Visual、Visual-Line、Visual-Block、Command-Line

hjkl

リッチなモーション

w, b, e, 0, $, gg, G, f, t, /, ? など

3dd

オペレーター & カウント

d, c, y, >, < をカウントやモーションと組み合わせ

iw

テキストオブジェクト

iw, aw, i", a(, it など

/

検索 & 置換

/pattern, :s/old/new/g

q@

マクロ & マーク

マクロの記録・再生、名前付きマーク

アーキテクチャ

すべてが純粋関数。DOM アクセスなし。副作用なし。

Inputkeystroke + state
ProcessorprocessKeystroke()
OutputnewState + VimAction[]
cursor-movecontent-changemode-changeyanksavestatus-message

パッケージ

@vimee/coreヘッドレスエンジン@vimee/reactReact フック@vimee/shiki-editorドロップイン エディター@vimee/plugin-textareaTextarea@vimee/plugin-monacoMonaco@vimee/plugin-codemirrorCodeMirror@vimee/testkitテストキット

コミュニティ

オープンソースで構築。MIT ライセンス。