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 アクセスなし。副作用なし。

Input keystroke + state
Processor processKeystroke()
Output newState + VimAction[]
cursor-move content-change mode-change yank save status-message

パッケージ

@vimee/core ヘッドレスエンジン @vimee/react React フック @vimee/shiki-editor ドロップイン エディター @vimee/plugin-textarea Textarea @vimee/plugin-monaco Monaco @vimee/plugin-codemirror CodeMirror @vimee/testkit テストキット

コミュニティ

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