ばらをのChangeLog

‹前の日 | 2009-07 | 次の日›

2009-07-28

EmacsでATOK X3を使う [Ubuntu][Emacs][ATOK]

参考: http://d.hatena.ne.jp/MIZUNO/20080304/1204616771

まずはIIIMECFをインストール

http://www.meadowy.org/~kawabata/iiimecf/
READMEに書いてある通りバイトコンパイルして lisp/* を ~/.elisp/iiimecf/* に置いた。

キーバインドがATOK風になっているのを直したい

カーソルキーを使わず、C-i/oで文節を伸ばしたり縮めたりしたい。あと、「変換」キーでIMEをON、「無変換」キーでIMEをOFFしたい。

参考:
- http://okutomi-lab.ctrl.titech.ac.jp/~tkanda/atok_x3_install.htm#iiimecf
- http://d.hatena.ne.jp/munepi/20090517/1242531449
- http://itline.jp/~svx/diary/?date=200807

まずATOKのキーバインド設定でF2,F3を文節収縮,伸張に割り当てておく。
.emacsに以下を追加した。

;; ATOK X3
(setq iiimcf-server-control-hostlist (list (concat "/tmp/.iiim-" (user-login-name) "/:0.0")))
(when (and (= 0 (shell-command
                 (concat
                  "netstat --unix -l | grep -q "
                  (car iiimcf-server-control-hostlist))))
           (require 'iiimcf-sc nil t))
  (setq iiimcf-server-control-default-language "ja")
  (setq iiimcf-server-control-default-input-method "atokx3")
  (setq default-input-method 'iiim-server-control)
  (setq iiimcf-UI-input-method-title-format "<ATOK:%s>")
  (setq iiimcf-UI-preedit-use-face-p "window-system")
  (setq iiimcf-keycode-spec-alist
        (append
         '(
           (11 113 65535) ; C-k = F2(113)
           (12 114 65535) ; C-l = F3(114)
           (9  113 65535) ; C-i = F2(113)
           (15 114 65535) ; C-o = F3(114)
           (7  27  65535) ; C-g = Esc
           (16 38  65535) ; C-p = Up(38)
           (14 28  65535) ; C-n = Down(28)
           (2  37  65535) ; C-b = Left(37)
           (6  39  65535) ; C-f = Right(39)
           )
         iiimcf-keycode-spec-alist))
  (define-key global-map [henkan] (lambda ()
                                  (interactive)
                                  (if current-input-method (inactivate-input-method))
                                  (toggle-input-method)))
  (define-key global-map [muhenkan] (lambda ()
                                  (interactive)
                                  (inactivate-input-method)))
  )