ヒント
ヒントを 書き直してみた。
vimperator/hints-ext.js at master · caisui/vimperator · GitHub
変更点は
- ヒントの高速化(できてたらいいなぁ)
- ヒントが重なって見えないよ!
- 番号キー(hintchars) を押した後の
の遷移 - キーバインドの追加(1キースロークもの のみ)
です。
1.の恩恵は、tags に クエリーセレクタを利用する必要があります。
(xpath や array like な ものでも動作はします)
let use_hints_ext_hinttags=1
let use_hints_ext_extendedhinttags=1
で option の hinttags, extendedhinttags を クエリセレクター版に上書きできます。
対象Node の 画面内外判定が原因で遅い状況は改善するはずです。
当方の環境では、http://mxr.mozilla.org/mozilla-central/search のソース表示のような
画面外Node数が大量の場合は体感できました。
2. として、 hints.relocation を追加しました。
call すると
余談ですが、判りやすくなるだろうと思って、hintchars=0123456789で
スクリーンショットを撮ったのですが、
数字だと順序予測が容易なんで重なっていても支障がないのですね。
3. は、そのままなので略
4. として hints.addSimpleMap(key, callback) を 追加しました。
1キーストロークしか使用できません。
上記の hints.relocation を
hints.addSimpleMap("<c-l>", function() this.relocation())
hints.addSimpleMap("<C-f>", function () { this.hide(); buffer.scrollPages(1); this.show(this._submode, "", content.window); });
hints.addSimpleMap("<c-f>", function() void 0);
のような利用ができます。
また、標準のhighlight(Hint ,Hint::after ,HintActive ,HintElem ,HintImage)
を利用していません。
HintExt ,HintExtActive ,HintExtActive>span ,HintExtElem を 利用しています。
色等の変更はこちらを使う必要があります。
(pluginで追加される highlight なので
autocmd VimperatorEnter ".*" :hi -a HintExt color:red;
のように遅延実行する必要があります。
最後に、
let use_hintchars_ex=1
で hintchars の 一文字目の利用頻度を平等にします。
2011/07/24 22:06
highlight のコマンドの誤り訂正