標準的な HTML <textarea> に Vim キーバインドを付与する軽量プラグイン。構文ハイライトが不要なシンプルなユースケースに最適です。
インストール
npm install @vimee/core @vimee/plugin-textarea
使い方
import { attach } from "@vimee/plugin-textarea";
const textarea = document.querySelector("textarea")!;
const vim = attach(textarea, {
onChange: (value) => console.log("Content:", value),
onModeChange: (mode) => console.log("Mode:", mode),
});
// 後でクリーンアップ
vim.destroy();
API
attach(textarea, options?)
| オプション |
型 |
デフォルト |
説明 |
readOnly |
boolean |
false |
編集を無効にする |
onChange |
(value: string) => void |
— |
コンテンツ変更コールバック |
onModeChange |
(mode: VimMode) => void |
— |
モード変更コールバック |
onYank |
(text: string) => void |
— |
ヤンクコールバック |
onSave |
(value: string) => void |
— |
保存コールバック |
onAction |
(action: VimAction, key: string) => void |
— |
アクションコールバック |
indentStyle |
"space" | "tab" |
"space" |
インデント文字 |
indentWidth |
number |
2 |
インデント幅 |
戻り値: VimTextarea
| メソッド |
戻り値 |
説明 |
.getMode() |
VimMode |
現在の Vim モード |
.getCursor() |
CursorPosition |
カーソル位置(0ベース) |
.getContent() |
string |
バッファコンテンツ |
.destroy() |
void |
Vim キーバインドを削除 |