海野秀之(うんのひでゆき)の外部記憶
Twitter (twilog) / RSS / アンテナ / ぶくま
もう 10 年来 (←やや誇張) Wnn + Tamago のお世話になってたもんで、 Anthy のデフォルト設定ではまごついて仕方ありませんという old-type な Emacs 使い (別名: 我が国の残念な人々) の みなさん、こんにちは。
今日は、「まいごになったら Ctrl-j」と言われているような気もするけど、 たまに脱出できないような気もする Anthy のモード遷移について。 「モード遷移」で通じるのかどうか、あれですが、ひらがな入力モードとか カタカナ入力モードとかの切り替えのことです。
anthy.el の以下の部分が、それに該当するようです。
(defvar anthy-default-rkmap-keybind '( ;; q (("hiragana" . 113) . "katakana") (("katakana" . 113) . "hiragana") ;; l (("hiragana" . 108) . "alphabet") (("katakana" . 108) . "alphabet") ;; L (("hiragana" . 76) . "walphabet") (("katakana" . 76) . "walphabet") ;; \C-j (("alphabet" . 10) . "hiragana") (("walphabet" . 10) . "hiragana") ;; \C-q (("hiragana" . 17) . "hankaku_kana") (("hankaku_kana" . 17) . "hiragana") ))
状態遷移マトリクス風に書くと次の様になります。
↓遷移前 \遷移後→ | ひ | カ | 半 | a | a |
ひらがな (hiragana) | -- | q | ^q | l | L |
カタカナ (katakana) | q | -- | na | l | L |
半角カナ (hankaku_kana) | ^q | na | -- | na | na |
alphabet (alphabet) | ^j | na | na | -- | na |
alphabet (walphabet) | ^j | na | na | na | -- |
気になるのは、q, ^q (Ctrl-q) はトグルとして動作するのに、l, L, ^j (Ctrl-j) は遷移先オリエンテッドな割り当てになっているところと、穴 (na; not available) が かなり多いところ。これでは、私のようなおじさんが迷子になりがちなのも、 仕方がないような気もします(←自分にあまい)。
というわけで、次のようにいじくることにしました。
5 * 5 の状態遷移にトグルはきついでしょ。
↓遷移前 \遷移後→ | ひ | カ | 半 | a | a |
ひらがな (hiragana) | -- | q | ^q | l | L |
カタカナ (katakana) | ^j | -- | ^q | l | L |
半角カナ (hankaku_kana) | ^j | q | -- | l | L |
alphabet (alphabet) | ^j | na | ^q | -- | na |
alphabet (walphabet) | ^j | na | ^q | na | -- |
変更方法としては、 .emacs に次を追加:
(setq anthy-rkmap-keybind '( ;; \C-j (("katakana" . 10) . "hiragana") (("hankaku_kana" . 10) . "hiragana") (("alphabet" . 10) . "hiragana") (("walphabet" . 10) . "hiragana") ;; q (("hiragana" . 113) . "katakana") (("hankaku_kana" . 113) . "katakana") ;; \C-q (("hiragana" . 17) . "hankaku_kana") (("katakana" . 17) . "hankaku_kana") (("alphabet" . 17) . "hankaku_kana") (("walphabet" . 17) . "hankaku_kana") ;; l (("hiragana" . 108) . "alphabet") (("katakana" . 108) . "alphabet") (("hankaku_katakana" . 108) . "alphabet") ;; L (("hiragana" . 76) . "walphabet") (("katakana" . 76) . "walphabet") (("hankaku_katakana" . 76) . "walphabet") ))
なんか、半角カナ→ alphabet/walphabet の遷移が怪しいのを除けば、 期待どおりになったみたい。
とりあえず、今回はこんなところで。