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 キーとして設定したので, 戸惑うことも減りました.
補足.
記事にはしなかったけど, 調べる過程で以下のページを読んで難しそうだなぁ, と思っていました.
でも意外とすんなり設定で動いたのです. 不思議不思議.
記事のときから時間が経って状況が変わったのかもね.
http://www.pqrs.org/tekezo/macosx/keyremap4macbook/index.html.ja
http://sourceforge.jp/projects/macemacsjp/lists/archive/users/2006-June/001125.html
http://www.neo.ie.u-ryukyu.ac.jp/~joma/sblog/index.php?m=05&y=07&entry=entry070517-110430
http://www.sodan.ecc.u-tokyo.ac.jp/BTS/2004/Fink/28.html
http://fkmn.exblog.jp/4055802/
http://homepage.mac.com/nand/macosx/emacs_jis_keyboard.html
http://sourceforge.jp/projects/macemacsjp/lists/archive/users/2006-June/001125.html
日本語入力
これでプログラムソースを打つ分には不自由しなくなったけど, 日本語も書きたくなり 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 の世話はここまでにして寝ます. 対処は後日. いや〜, 手が焼けるね(喜)