English

@vimee/plugin-textarea

任意の HTML textarea に Vim キーバインドを付与

標準的な 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?)

オプションデフォルト説明
readOnlybooleanfalse編集を無効にする
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"インデント文字
indentWidthnumber2インデント幅

戻り値: VimTextarea

メソッド戻り値説明
.getMode()VimMode現在の Vim モード
.getCursor()CursorPositionカーソル位置(0ベース)
.getContent()stringバッファコンテンツ
.destroy()voidVim キーバインドを削除