textarea/input 要素を vim っぽくする拡張
変更点(0.2a)
ちょっとバージョンアップ!
- テキストボックスにフォーカスした時にステータスバーへの情報表示を行うようにした
- コマンドの履歴を取るようにした(↑,<C-p>,↓,<C-n>で履歴を辿れる)
- コマンド名の補完機能を付けた(<Tab>)
- :行番号で指定行の先頭へジャンプできるようにした
- vimperator使用時にMapコマンド入力キーが表示されない問題を解消(set showcmd みたいな機能)
まだまだα版でバグも多いかと思うがとりあえず公開。つまりフィードバックよろしくってこと(ぉ
これは何か
Firefoxの拡張機能で通常のHTMLのtextareaやinputの操作をvim(h,j,k,lでカーソル移動できたりするアレ)っぽくするもの
vim好き以外にはお勧めしない :-P*1
現状や機能
- 通常の矢印キーでカーソル移動など文字として現れないキーは今までどおりの挙動になる(はず)
- まだまだ未実装なマップがある(C-d,C-uとか)
- 初期段階ではINSERTモードから始まってますのでいきなり入力可能。
- 論理行と物理行の扱いがまだまだ未実装部分があり、vimとはちょっと違う挙動*2
- モードはNORMAL,INSERT,VISUAL,VISUAL(LINE)の4つ
- マップコマンドはカウントも受け付ける
- 2ddとか2dwとか
- >,<のインデント、アンインデントもあり
- コマンドは
:s/RegExp/string/[gi]
,/RegExp
,?RegExp
が実装されている - yankやdeleteは本当のclipboardへのコピー/切り取り扱い。pによるペーストも同様にclipboardから
- vimperatorとちょっと相性が悪い(特にESCを連打したとき)
将来的に
- 未実装マップの実装
- .vimrcのようなユーザでカスタマイズできるように
- IMEの制御(できたら)*3
- vimperatorにもきちんと対応(個人的に重要)
モードの状態を分かりやすくする(追記:2008/01/12 10:30)
本来ならINSERT時とそれ以外でカーソルの形状を変えられると良いのだけれど、現状できてない(できない?)ので暫定対策として以下のような対応が可能です。
ProfileDir/chrome/userContent.css
textarea[mode="normal"], textarea[mode="visual"], textarea[mode="visual_line"] { background-color: #ddd; }
のような事をしておくと、NORMAL,VISUAL,VISUAL(LINE)のときtextarea要素の背景色が変わるので分かりやすくなるかと思います。