header

2016年1月13日水曜日

Emacs から ibus をトグルする拡張作った

Evil 使ってる時に Normal モードに入った時に日本語をオフしたかったので作った。普通に shell command で`ibus engine`呼び出してるだけだけど、あまり良さそうな情報がなかったので自分で書いた。ここから ダウンロードできます。

設定

(require 'ibus-toggle)
(define-key global-map (kbd "C-o") 'tibus-toggle)

tibus-toggle でトグルできます。

Evil から使うなら、自分はこうしてます。指定するキーボードは`ibus read-config` コマンドでみれます。

(add-hook 'evil-normal-state-entry-hook
          '(lambda () (tibus-set-engine "'xkb:us::eng'")))

1/18/2016 追記 カーソル手前の文字が日本語だったら mozc にする設定を思いつきました。便利かどうか謎ですがよかったら使ってみてください。

(require 'rx)
(add-hook 'evil-emacs-state-entry-hook
          '(lambda ()
             (let ((c (char-before (max (point) (point-min)))))
               (when (and c (string-match (rx (category japanese))
                                          (char-to-string c)))
                 (tibus-set-engine "'mozc-jp'")))))

感想

ホントは mozc から変更したかった。けどそういうオプションなさそうだったので妥協して ibus で操作することにした。mozc 便利だけどかゆいところに手が届かない感じだ。

0 件のコメント:

コメントを投稿

Popular Posts

Blogger templates

Blogger news