emacsでyatex-modeを使っているときに,日本語入力中でもドル記号を入力すれば,直接入力に切り替わりドル記号が2つ入力されて欲しい人間です.
mozc.elを使っているときには,mozc-mode-mapを書き換えることで上記に対応していたのですが,mozc-imではキーマップが用意されていません.そこでキーイベントを拾う関数であるmozc-im-input-methodにアドバイスを定義することで上記を解決してみました.
mozc.elでも,mozc-mode-mapを書き換える方法でなく,これと同様にmozc-handle-eventという関数にアドバイスを定義すれば同じ挙動を示します.
追記:defadviceは古いそうなので,advice-addを使用したものに書き換えてみました.
追記:2020/03/13:キー入力の度に毎回メジャーモードの判定をするのもおかしいので,以下のように書き換えました.
2019年4月9日火曜日
mozc-tempを使ってみた。
ac-mozcの後継であるmozc-tempというものがあるということで使ってみました。
英字を直接入力して、変換したい文字列の直後でAlt-nを打鍵することで変換候補が表示されます。
少し利用してみたところ、yatex-modeでは直接入力でしか使わないような変換してほしくない記号も変換されて不便なので、以下のように変換候補の文字に関する正規表現を変更してみました。
使用していて気になる点は、
英字を直接入力して、変換したい文字列の直後でAlt-nを打鍵することで変換候補が表示されます。
少し利用してみたところ、yatex-modeでは直接入力でしか使わないような変換してほしくない記号も変換されて不便なので、以下のように変換候補の文字に関する正規表現を変更してみました。
;;mozc-temp
;;(global-set-key (kbd "M-n") #'mozc-temp-convert-dwim)
(global-set-key (kbd "M-n") #'mozc-temp-convert)
;;mozc-tempの変換候補文字に関する正規表現を変更する
(add-hook 'yatex-mode-hook
'(lambda ()
(custom-set-variables '(mozc-temp-prefix-regexp
(let ((convertibles "][,.:0-9A-Za-z-"))
(format "\\(?:^\\|[^%s]\\)\\([%s]+\\)\\=" convertibles convertibles)))
)))
使用していて気になる点は、
- ひらがなやカタカナに変換するときにAlt-nの後でCtrl-H, Ctrl-Kを打鍵する必要があり、打鍵回数が増えるので、ひらがな・カタカナに直接変換するキー割り当てが欲しい。
- mozc.elを使って入力をしているときには、変換候補が表示されているときに続けて文字を打ち込むと変換確定扱いになるのに対し、mozc-tempではEnterを押して決定しないと変換確定にならないので、やはり打鍵回数が増えて不便.
登録:
投稿 (Atom)