CocoaEmacs on Snow Leopard の世話

バックスラッシュを入力

さて, 無事 CocoaEmacs も動くようになったが, またしても問題が…….
バックスラッシュが JIS キーボードで入力できない…….
C で改行コードが出力できない…….


今までは "option + \" で入力できていたのが, option が Meta キーにバインドされてしまったため入力できません. M-\ is not defined. とか怒られるし.

ってことで, .emacs に以下の設定を追加.

;; command key as meta key
(setq ns-command-modifier 'meta)
;; option + yen(jis keyboard) => backslash
(setq ns-alternate-modifier 'option)

ついでに前みたいに command キーを Meta キーとして設定したので, 戸惑うことも減りました.

日本語入力

これでプログラムソースを打つ分には不自由しなくなったけど, 日本語も書きたくなり AquaSKK を通して CocoaEmacs に入力してみたら, あらビックリ.
「変換」って文字を入れようとすると,

Hえんかん

となってしまいます. 最初の "H" の時点で CocoaEmacs に掴まっちゃうみたいです.

しょうがないので色々調べると,
http://www.cx4a.org/blog/2009/02/cocoa-emacs-ddskk.html
http://memolet.blog22.fc2.com/blog-entry-1204.html
こんなのが見付かって, ddskk を入れないといけないようです. う〜ん, 面倒. でもやるしかないか.

http://d.hatena.ne.jp/tomoya/20080903/1220406574
↑ここの説明が良さそうだったので参考にしてやってみる.

追記: 上のページの ddskk は 13.1 の頃のもの。ddskk14.1 のインストール方法はこちら http://d.hatena.ne.jp/tomoya/20100905/1283681474

.emacs ファイルへは以下の設定を追加.

;; ddskk
(setq load-path (append load-path '("/usr/share/emacs/22.1/site-lisp/skk"
				    "/usr/share/emacs/22.1/site-lisp/apel"
				    "/usr/share/emacs/22.1/site-lisp/emu")))

(require 'skk-autoloads)
(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-auto-fill-mode)
(global-set-key "\C-xt" 'skk-tutorial)

(setq skk-large-jisyo "/Users/tomohiko/Library/AquaSKK/SKK-JISYO.L")

(setq skk-tut-file "/usr/share/skk/SKK.tut")

(add-hook 'isearch-mode-hook
	  (function (lambda ()
		      (and (boundp 'skk-mode) skk-mode
			   (skk-isearch-mode-setup)))))
(add-hook 'isearch-mode-end-hook
	  (function (lambda ()
		      (and (boundp 'skk-mode) skk-mode (skk-isearch-mode-cleanup))
		      (and (boundp 'skk-mode-invoked) skk-mode-invoked
			   (skk-set-cursor-properly)))))
;; do not pass \C-j control to AquaSKK
(setq mac-pass-control-to-system nil)

う〜ん, 上手くいかない. 調べると load-path に追加した /usr/share/emacs/22.1/site-lisp/apel ディレクトリが無い. 探すと /usr/share/emacs/site-lisp/apel の位置にあった. ここを修正して Emacs を再起動すると……ヤッター!\(^O^)/無事 skk が動いたよ. ユーザ辞書とか細かい動作の設定はまだだけど, なんとかこれで以前の生活に戻れそうです.

えがったえがった.

ユーザ辞書の設定

さて, この勢いで AquaSKK とのユーザ辞書の共有まで設定しちゃいましょう.

http://trashbox.g.hatena.ne.jp/lurker/20080623/1214211745
↑ここを参考にすると, AquaSKK で skkserv を有効にして, それを ddskk から参照すれば良いらしい. そう言えばこんな設定が http://www.cx4a.org/blog/2009/02/cocoa-emacs-ddskk.html に載ってたな. 意味分からず飛ばしてしまったが(汗)

;; skkserv
(require 'skk-setup)
(require 'skk-study)
(setq skk-server-portnum 1178)
(setq skk-server-host "localhost")

こんな設定を追加したら動きました.

でも, ユーザ辞書 ~/.skk-jisyo が出来ちゃったみたい. さてどうするか?

とりあえず, 今日の Emacs の世話はここまでにして寝ます. 対処は後日. いや〜, 手が焼けるね(喜)