結構前から悩んでること。uim-anthy の keybinding で、anthy-go-(left|right)-key?*1anthy-go-left-segment-key? (とでも命名すべき機能) を兼ねているのが微妙に不便だ。
目的を説明すると、f, b と f, b をこういう風に bind したい。

  1. : カナ打ち中→caret を一文字左右に移動
  2. : 漢字変換中→文節伸縮
  3. : カナ打ち中→特に無し。"単語"単位での移動が実装されることがあればそれ。
  4. : 漢字変換中→左右の文節に focus を移動

しかし、現在 1 と 4 が anthy-go-(left|right)-key? 一つに map されてるので切り離せない。
これを実現する方法って今のところ存在するんでしょうかね。
ちなみに現在、1, 2, 4 全部 にして使っている。でも本当は上記の通りにしたい。違うのは一点、4 が になってるってところ。というのは、自分にとっては漢字変換中に於ける caret とは focus 中の文節の右端であって、文節単位での移動は単語移動に見えるからだ。だから emacs でいう move-{for/back}ward-word の key を無意識に押してしまう。ところが anthy-go-(left|right)-key? を b にすると今度はカナ打ち中の caret 移動で無意識に b を押してしまって悲しいことになる。あんまり複雑な和文を打つ機会が少ないし、元々短めの phrase ごとに変換する癖があるのでそれほど不便ではないんだけど…
Space で漢字変換を呼び出した際に自動的に実行される hook があれば動的に mapping を変更できて幸せになれそうだけど…そんなんあったっけか?

追記: とか思ってたら uim-pref-gtk で設定できた。とっくに anthy-(next|prev)-segment-key が追加されてたぽ。てゆーかもしかして元からあった… :y=-( ゚д゚)・∵;; ターン

*1:ところで、この変数の命名の "?" って technology-oriented であって user-oriented じゃないよね。今更変えるのは難しいんだけど。