mozc を emacs 風キーバインディングにする
引き続き Ubuntu のデスクトップいじり。mozc が気に入ったので、常用することにしました。「scim-mozcのキーバインドをEmacs風にする」をベースに、更に後戻りできないキーバインディングに。具体的には
- 変換中に C-b, C-f で文節区切りの伸縮、Alt-b, Alt-f で文節の左右移動
- 状況によらず C-g でキャンセル
- C-h で左削除、C-d で右削除
- C-a, C-e で左右の端に移動
- 平仮名変換やカタカナ変換などは使用頻度に合わせて C-0 などにマップ
という感じです。Alt-e とか C-k も欲しいところですが、残念ながら実装されていないようです。
mozc の設定ツールの起動が最初わからなくて困りましたが、以下の二通りの方法で起動できます:
- /usr/lib/mozc/mozc_tool --mode=config_dialog
- ibus (や scim、uimも?) の設定で言語パネルが表示されるように設定し、言語パネルのスパナのアイコンから起動
以下のテキストを適当なファイルに保存して mozc 設定ツールで「キー設定の選択」「カスタム」(略)「インポート」でできます。設定ツールでは Alt キーが認識されないので Alt-b, Alt-f によるキーが指定できないようですが、テキストファイルに Alt と書いて読ませると文句言わずに読み込みます。ちなみに Hoge みたいな存在しないキーを書くと、そのエントリーだけ華麗にスルーされました。
なお、このファイルは TSV (タブ区切り) なので "status", "key", "command" の間や、それらに対応する列の間の区切り文字はタブでないと mozc にスルーされます。ブラウザでコピペすると空白になることもあるようなので注意。
status key command Precomposition Space InsertFullSpace Precomposition Shift Space InsertAlternateSpace Precomposition Space InsertSpace Precomposition Ctrl Backspace Revert Composition Backspace Backspace Composition Ctrl 9 ConvertToHalfAlphanumeric Composition Ctrl 2 ConvertWithoutHistory Composition Ctrl 0 ConvertToHiragana Composition Ctrl 8 ConvertToFullKatakana Composition Ctrl 7 ConvertToHalfWidth Composition Ctrl 6 ConvertToFullAlphanumeric Composition Ctrl a MoveCursorToBeginning Composition Ctrl h Backspace Composition Ctrl d Delete Composition Ctrl e MoveCursorToEnd Composition Ctrl Eisu ToggleAlphanumericMode Composition Ctrl Enter Commit Composition Ctrl f MoveCursorRight Composition Ctrl g Cancel Composition Ctrl h Backspace Composition Ctrl i ConvertToFullKatakana Composition Ctrl m Commit Composition Ctrl e MoveCursorToEnd Composition Shift Space InsertHalfSpace Composition Ctrl Space InsertFullSpace Composition Delete Delete Composition Eisu ToggleAlphanumericMode Composition End MoveCursorToEnd Composition Enter Commit Composition ESC Cancel Composition Space Convert Composition F9 SwitchKanaType Composition Right MoveCursorRight Composition Shift Left MoveCursorLeft Composition Shift Right MoveCursorRight Composition Shift Space Convert Composition Space Convert Composition Tab PredictAndConvert Suggestion Down PredictAndConvert Suggestion Shift Enter CommitFirstSuggestion Conversion Ctrl g Cancel Conversion Ctrl 9 ConvertToHalfAlphanumeric Conversion Ctrl 0 ConvertToHiragana Conversion Ctrl 8 ConvertToFullKatakana Conversion Ctrl 7 ConvertToHalfWidth Conversion Ctrl 6 ConvertToFullAlphanumeric Conversion Ctrl a SegmentFocusFirst Conversion Ctrl Backspace Cancel Conversion Ctrl d Delete Conversion Ctrl Enter CommitOnlyFirstSegment Conversion Ctrl p ConvertPrev Conversion Enter Commit Conversion Ctrl Eisu ToggleAlphanumericMode Conversion Ctrl f SegmentWidthExpand Conversion Ctrl g Cancel Conversion Ctrl h Backspace Conversion Ctrl b SegmentWidthShrink Conversion Left SegmentFocusLeft Conversion Ctrl n ConvertNext Conversion Ctrl p ConvertPrev Conversion Ctrl e SegmentFocusLast Conversion Ctrl a SegmentFocusFirst Conversion Backspace Cancel Conversion Down ConvertNext Conversion Eisu ToggleAlphanumericMode Conversion End SegmentFocusLast Conversion Enter Commit Conversion ESC Cancel Conversion F10 ConvertToHalfAlphanumeric Conversion F6 ConvertToHiragana Conversion F7 ConvertToFullKatakana Conversion F8 ConvertToHalfWidth Conversion F9 ConvertToFullAlphanumeric Conversion Henkan ConvertNext Conversion Home SegmentFocusFirst Conversion Alt b SegmentFocusLeft Conversion Alt f SegmentFocusRight Conversion Muhenkan SwitchKanaType Conversion PageDown ConvertNextPage Conversion PageUp ConvertPrevPage Conversion Right SegmentFocusRight Conversion Shift Backspace Cancel Conversion Shift Down ConvertNextPage Conversion Shift ESC Cancel Conversion Shift Henkan ConvertPrev Conversion Shift Left SegmentWidthShrink Conversion Shift Muhenkan ConvertToFullAlphanumeric Conversion Shift Right SegmentWidthExpand Conversion Shift Space ConvertPrev Conversion Shift Up ConvertPrevPage Conversion Space PredictAndConvert Conversion Tab PredictAndConvert Conversion Up ConvertPrev Precomposition Ctrl Eisu ToggleAlphanumericMode Precomposition Eisu ToggleAlphanumericMode Composition Backspace Backspace Composition Ctrl b MoveCursorLeft Precomposition ASCII InsertCharacter Composition ASCII InsertCharacter DirectInput Hiragana IMEOn DirectInput Katakana IMEOn DirectInput Eisu IMEOn DirectInput ON IMEOn DirectInput Hankaku/Zenkaku IMEOn DirectInput Kanji IMEOn DirectInput F13 IMEOn DirectInput Henkan IMEOn Precomposition OFF IMEOff Precomposition ON IMEOn Precomposition Hankaku/Zenkaku IMEOff Precomposition Kanji IMEOff Composition OFF IMEOff Composition ON IMEOn Composition Hankaku/Zenkaku IMEOff Composition Kanji IMEOff Conversion OFF IMEOff Conversion ON IMEOn Conversion Hankaku/Zenkaku IMEOff Conversion Kanji IMEOff