2011年11月06日

2011年11月06日: Emacs 23 Cocoa 版

 Emacs 23 の Cocoa 版をお試し中。ターミナル上では普通にコマンドライン版の emacs を使っているのだが、Cocoa 上でわざわざ使う意味があるかどうかはちょっと微妙かも。機能的には「Emacs Lisp を覚えさえすれば最強」ではあるけど、エディタというのはユーザーインターフェイスに妙な癖があると非常に使いづらくなる。実際、今まで何度か「Mac 用 emacs」を使ってみたのだが、結局なじめなかった。今回はどうだろう?

 インストールは思ったより簡単だった。Emacs のコンパイルってすごく大変なイメージがあったのだが、ソースコードを公式サイトから取得して、日本語インライン入力用のパッチを当てたら、あとは下の通り。これで Emacs.app というアプリケーションパッケージができる。参考にしたのは「Snow Leopard で Emacs 23 を使う(海上忍さん)」と「CocoaEmacs - MacEmacs(MacEmacs JP プロジェクト)」。海上さんの記事はいつも内容が充実していて、Mac 系のライターの中では個人的には一番信頼している。

$ tar xzf emacs-23.1.tar.gz $ tar zxf inline_patch-20090617.tar.gz $ cd emacs-23.1 $ patch -p0 < ../inline_patch-20090617/emacs-inline.patch $ ./configure --with-ns --without-x $ make bootstrap $ make install

 初期設定として、.emacs に以下のコードを書き込む。特にフォント回りは大事。下の設定で、mi でいつも使っている「Osaka 等幅 12 pt」とだいたい同じ見かけになった。

(set-language-environment 'Japanese) ;; 日本語に設定 (prefer-coding-system 'utf-8) ;; UTF-8 (global-font-lock-mode t) ;; シンタックスカラーリング ON (setq make-backup-files nil) ;; バックアップファイル (file~) を作らない (when (eq window-system 'ns) ;; Cocoa Emacs (>= 23) only ;; Font settings (set-face-attribute 'default nil :family "monaco" :height 100) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("osaka" . "iso10646-1")) ;; Osaka 等幅 + monaco (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0212 '("osaka" . "iso10646-1")) (setq face-font-rescale-alist '(("^-apple-hiragino.*" . 1.2) (".*osaka-bold.*" . 1.2) (".*osaka-medium.*" . 1.2) (".*courier-bold-.*-mac-roman" . 1.0) (".*monaco cy-bold-.*-mac-cyrillic" . 0.9) (".*monaco-bold-.*-mac-roman" . 0.9) ("-cdac$" . 1.3))) ;; Select region by shift+arrow keys (setq pc-select-selection-keys-only t) ;; shift + 矢印キーで領域選択、選択部分に色をつける (pc-selection-mode 1) (setq ns-alternate-modifier nil) ;; option キーを Meta キーとして使わない )

 マウスを使ったカーソル移動・スクロール・範囲選択もちゃんと効く。command+C/X/V によるコピー・カット・ペーストも大丈夫。ウィンドウのタイトルバーのアイコンを Safari にドラッグしてプレビューするとか、タイトルバーをcommand+クリックでパスを表示するなどの Mac ウィンドウシステムの機能もちゃんと生きている。(setq ns-alternate-modifier nil)は、これを入れないと「・」とか「…」の入力がえらく面倒になる。Meta 系のコマンドってそんなに使わないので ESC キーが使えれば OK とする(M-v, M->, M-< はよく使うな…不便といえば不便だけど、もう慣れたし。)

Posted at 2011年11月06日 20:44:22
email.png