Sakura Editor wrap Vim (like) KeyBind
サクラエディタの操作系をVimで乗っ取るプラグイン
- zipファイルをプラグインとして導入
- キー割当から、
esc
,h
,j
,k
,l
,y
のみ、それぞれプラグインのkey_esc
,key_h
, (以下略)に差し替える- 選択機能を使うためには、キー自体を上書きする必要があるため、通常の入力で取得できないEscと合わせて、登録している
- タイプ別設定→インデント→スマートインデント→
cherim
を設定
- スマートインデントは、キー入力のがあるたびに毎回スクリプトが走る設計であることを利用している
- キー入力をスマートインデント用のイベントからもらって、内部で入力キーごとに分岐処理を行なっている
- 実際にはキーボードからの入力文字はエディタ上に書き込まれているが、挿入モード以外では即座にUndoすることで見かけ上再現している
- そのため、超高速で入力されると、間に合わなくて文字が見えることがある
- モード情報とコマンドのバッファは、サクラエディタのCookie機能を使って記憶させている
- 実装の都合上
Ctrl+v
の矩形選択が、Shift+v
の割り当てられているCtrl
を使うためには、キー割当をする必要がある- なるべくキー割当を行わない設計にしている(単純に手間なので…)
- 数字指定のコマンドの実装
- リファクタ(結構イマイチコードが多め)