Vimperator3.0preにはhintcharsを指定できるようになった。

過去にVimperatorで片手ブラウジングを書いた。

そういう経緯で,(カンマ)にもクイックヒントをmapしているのだが、
(,は組み合わせで使うので、今は頻度を考慮して"m"にしている。)

Vimperator3では
","でのクイックヒントは右手範囲のhintchars。
"f"でのクイックヒントは両手範囲のhintchars。

という感じに設定する事だって出来る。
noremap , :set hintchars=;jklnmioph<CR>f
noremap f :set hintchars=naiueofdsghjkl;rwv<CR>f

こうする事で、より腕の負担も分散するし、効率も良くなる。

ちなみに;も使える。


ただ、mapにコマンドを追加して<CR>とかすると、遅くなる。

No Completions」とか言ってくるし…。

ヒントモードは頻繁に使うし、出来る限りもたつかせたくない。

なので、
noremap f ...<CR>...<CR>...

とか書かずに

jsのaddUserMapを使って登録する。
js<<EOM
showhint=function(hintchars){
liberator.execute("set\ hintchars="+hintchars);
hints.show("o");
}
mappings.addUserMap([modes.NORMAL,modes.VISUAL],['f'],
'Start QuickHint mode',
function(){ showhint('naiueofdsghjkl;rwv'); });
mappings.addUserMap([modes.NORMAL,modes.VISUAL],[','],
'Start QuickHint mode',
function(){ showhint(';jklnmioph'); });
EOM
と.vimperatorrcに書く。


Windowsではなく、Linux環境であればIMをオフにするのに

xvkbdをインストールして、SCIMでオフ設定にControl+spaceとし、

noremap f :!xvkbd -text \\[Control]\\[space] &<CR>f

という感じの事をしているとすれば

liberator.execute(":!xvkbd\ -text\ \\\\[Control]\\\\[space]&");
をhints.show("o");を呼ぶ前に書いてあげればいい。

驚くほど改善する。