先日のエントリ([id:ampmmn:20081008])で設定したキー入力をしばらく試してみたところ、
2ストローク部分の入力に関しては、だいぶ慣れてきて非常に快適になった。
今のところ、マッピングによる弊害は起こっていない。
ただ、3ストロークはどうも煩雑。軽減される指の負荷よりも
3ストロークによるオーバーヘッドが上回って割にあわない感じがする。
ということで、3ストロークの部分についてはマッピングを見直して、
すべて2ストロークにする形にすることにした。
とはいえ、j+<何か>という組み合わせだけだと足りないので、
新たにプレフィックスキーとしてJ+<何か>というのも使うことにした。
Shiftキーを押すのがちょっといまいちな感じだけど、
まあ、左手でShiftキー、右手でJキーだったらまあ許容範囲かと思った。
いろいろ試してみた結果、こんな感じになった。
imap <buffer> JJ * imap <buffer> JK / imap <buffer> JL % imap <buffer> jf ( imap <buffer> jk = imap <buffer> jt _ imap <buffer> jl : imap <buffer> jd { imap <buffer> JF - imap <buffer> jr & imap <buffer> jc ! imap <buffer> jw " imap <buffer> jq ' imap <buffer> jv [ imap <buffer> jx <bar> imap <buffer> jz ? imap <buffer> JD \ inoremap <buffer><expr> jg Closebracket('()[]{}', ['cString','cCppString','cCharacter', 'cCommentL', 'cComment'])
このマッピングを決める際には、過去にかいたソースコードに
この組み合わせが登場しないことを一応確認はしたので、
自分が使うにあたって、バッティングすることはそうそうない...はず。
それでも、このマッピングを使いたくないこともあるかもしれないので、
設定をトグルする関数を書いて、切り替えるためのマッピングを設定するなどした。
この設定でまたしばらく使ってみよう。