日本語入力と autopair-mode
autopair-modeを有効にしていると日本語入力がうまくいかない。
調べても対策が見つからなかったのは、Emacsの input methodを
使っている人があまりいないためだろうか ?
環境
- Emacs 24.2
- mozc.el
対応
inputmethodを有効にしたときに autopair-modeを無効、
逆に inputmethodを無効にした時に autopair-modeを有効にするよう
してみました。
(defvar my/autopair-enabled-modes '(c-mode c++-mode python-mode haskell-mode ruby-mode coffee-mode cperl-mode)) ;; 追記 make-symbolではうまくいかなかったので internに修正 (dolist (mode my/autopair-enabled-modes) (add-hook (intern (format "%s-hook" mode)) 'autopair-mode)) (defun my/input-method-active-hook () (when (memq major-mode my/autopair-enabled-modes) (autopair-mode -1)) (set-cursor-color "gold")) (defun my/input-method-inactivate-hook () (when (memq major-mode my/autopair-enabled-modes) (autopair-mode t)) (set-cursor-color "chartreuse2")) (add-hook 'input-method-activate-hook 'my/input-method-active-hook) (add-hook 'input-method-inactivate-hook 'my/input-method-inactivate-hook)