Mac OS X での Emacs

Introduction

2008年に初めて MacBook Pro を購入した(2008 early, 2.5GHz Intel Core 2 Duo)。いささか古いマシンになってきてはいるが現在も使用しており、内蔵 HDD を半年前に SSD に換装したことも加わり、概ね不満もない。普段 CPU に負荷のかかる処理をそれほど多くするわけではないので、現行の Sandy Bridge 搭載マシンと比べても、それほど劇的な違いはないのではないか、と楽観的である(もちろん最新マシンは触ったことがない…)。

さて、その MacBook Pro で、エディタを何にするか、と迷った。私は文系の文献学に携わっているのでとりわけエディタを何にするか、ということが重要であった。そんな折、同じ研究室の先生から Emacs を勧められ使用したのがはじまりだった。Mac OS X は Unix ベースの OS であり、Emacs との親和性も高い。しかし、Unix の知識が何も無い状態でいきなり Emacs を使うのはかなりしんどかった。しんどかったのだが、キーバインドを駆使しファイル編集を行うのはもちろんのこと、Emacs 内で辞書を調べたり、複数のテキストから目的の箇所をすばやく検索したり、LaTeX で美しい文書を書いたり、メールを読んだり、Web ブラウジングしたり、テトリスまでしている姿を目の前で見せられたので、簡単に諦めることもできなかった (もちろんそれだけではないが、傍で見ている私に理解できるのがそれくらいだった…)。とりわけ、自身の研究分野には多言語環境に強いという点も魅力的だった。私はプログラミングをすることはないだろうが、その高機能なテキスト編集能力は魅力的で、多少時間はかかっても習得するだけの利得はあると感じさせられたのだった。以来3年、いまだ初心者の域から出られないのだが、それでも今やストールマンの著書を買って読むほどに Emacs が好きになった。これは実に中毒性のあるエディタである。

さて、前置きが長くなったが、OS X 上で Emacs を使用するにはいくつか選択肢がある。EmacsForMacOS で紹介されているが、今回はそのうち主な選択肢についてメモしておこうと思う。

Mac OS X での Emacs の選択肢

1. Carbon Emacs

私自身は使い始めた時から変わらず銭谷誠司さんの Carbon Emacs パッケージ を使用させてもらっている。現在ダウンロードできるものが最終版と宣言されているので、いずれ移行しなければならないのだが、このパッケージは Mac との親和性という点で特に優れており、また、アプリケーションフォルダに入れるだけで使用できインストールも簡単で、特に初心者にはありがたい。Carbon Emacs 自体はもちろんソースからビルドすることもできるし、FinkMacports を使っても導入もできる(詳しくは MacWikiの説明 を参照)。

2. Cocoa Emacs

OS X 上で動作する現在の安定版 Emacs23 の総称で、フロントエンドに Cocoa API が用いられているためこう呼ばれている。sakito さんのページ に導入方法や設定など網羅的に述べられている。私自身は Macports でインストールした。ターミナルで、

$ sudo port install emacs-app +fullscreen

とすると /Applications/MacPorts 以下に Emacs.app が出来るので、それをダブルクリックすることで起動する。

EDIT: 2011/10/25
patches という variant が利用できるようになっている。
$ sudo port install emacs-app +patches
で、fullscreen, inline, jpfont 3つのパッチを適用できるようだ。日本語を主言語とする場合、特に理由がない限りこの +patches でインストールしておいて問題ないだろう。
cf. Beginning OS X Lion/アプリ導入編_拾遺#Cocoa_Emacs

3. Emacs Mac port

山本光晴氏によって開発が進められており、64bit 対応で「実験的なものでハッカーのみ」(experimental/hackers-only)という条件付きの使用が想定されたもの。以下からパッチ形式で提供されている。

ftp://ftp.math.s.chiba-u.ac.jp/emacs/

詳しくは こちらのページ やパッチ同梱の README-mac などを参照。トラックパッドジェスチャーに対応しているなど、他にも Mac と親和性の高い様々な機能が提供されている。

4. Aquamacs Emacs

Aquamacs Emacs は OS X 用にカスタマイズされた Emacs で最新版(2011/06/08現在, ver. 2.2)は Cocoa ベースで 64bit 対応し、GNU Emacs 23 をベースとする。Mac OS X のネイティブアプリケーション風のインターフェイスを備え、Emacs を始めるにあたり特にとっつきにくい設定をほとんど GUI で操作できるのも特徴である。また、Mac の他のアプリケーションとの統合性もある。一方で、オリジナルの Emacs の操作に慣れていれば、その独自の仕様もあり、その親切さがかえって使いにくい場合もある。

5. X版 Emacs

X11 (X Window System) 上で動作する “オリジナルの” Emacs。ここ を参考にソースからビルドしてもいいが、私は以下のように Macports から導入した。

$ sudo port install emacs +x11 +gtk

起動はターミナルから、

$ /opt/local/bin/emacs

さてどれを選ぶ?

ターミナル上で動作する Emacs (emacs -nw) や開発版の Emacs24 など他にもまだ選択肢はあろうが、今新しく Mac OS X 上で Emacs を導入しようとする人は、大体以上の5つのうちいずれかを選ぶことになるのではないだろうか。私自身は上述のものを試して、結局一番はじめに導入した銭谷版 Carbon Emacs を使用し続けている。残りの4つはこれに比べた時にほんの僅かだけ不満点があり、それはまたの機会に書くとするが、テキスト編集という基本的な使用の範囲では、実は設定の仕方がわずかに異なる以外ほとんど差異はない。ただ、こうしていろいろな可能性を試しつつ、その過程そのものがまた、私にとって Mac OS X 上での Emacs の楽しみであったりもするのである。

5 thoughts on “Mac OS X での Emacs

  1. インド学とコンピュータに興味をもっています。
    無謀かもしれませんがマッキントッシュ上で
    Emacsを使ってみたいので、おすすめの銭谷版?
    を探してみました。しかし検索したところ既に
    ネット上から消えてしまっているみたいです。
    現状での代用としては今何が適当でしょうか?
    もしよろしければご教示いただければと思います。
    ある程度設定されたものを使いたいので、銭谷版が
    どこかにあればそれもいいのですが…。
    しかしながらいつもすばらしい情報を
    ありがとうございます。

    • コメントありがとうございます。

      Carbon Emacs は今でも最終版 (2010 年版) が以下からダウンロードできるようです。

      http://th.nao.ac.jp/MEMBER/zenitani/emacs-j.html

      私もこの記事を書いた頃 (2011/6) には Carbon Emacs を使用していたのですが、Emacs もすでに現行バージョンが 24.3 まで上がり (Carbon Emacs は version 22)、最新パッケージを使用する場合など色々と不都合が生じる場合がでてきてました。今では Mac OS X ではこの記事の「3. Emacs Mac port」を使用しています。以下にこの記事の続きを少し書いたことがありましたので、よろしければご覧ください。

      Mac OS X での Emacs (2)

      ただし、この Emacs Mac port は少し導入が面倒なので、特に理由がなければ、Macports を導入して Emacs をインストールするのが、日本語を主言語として使用する場合、一番楽ができるように思います。Macports を導入後「ターミナル」から以下の一行を実行するだけで、はじめからある程度日本語環境に特化した設定が整った Emacs をインストールすることができます。

      $ sudo port install emacs-app +patches

      • 返信ありがとうございます。
        さっそくやってみましたところ、なんとか成功しました。
        しかしctrl+command+Dで辞書が引けません(泣)
        やっぱり素人が使うものとは違うんでしょうかね。
        今後もブログの記事楽しみにしています。

      • インストールがうまくいったようで良かったです。

        Cocoa Emacs (Macports 経由でインストールしたもの) は書いてくださったように Ctrl + Command + D で OSX の辞書アプリが呼び出せません。

        代替案としては、こちら:

        http://sakito.jp/mac/dictionary.html#emacs

        で紹介されている設定を利用すれば、Emacs から辞書アプリを呼び出すことはできるようになります(ただしポップアップ表示はできない)。

        以下のコードを Emacs の設定ファイル (~/.emacs.d/init.el) に貼り付けてみてください。

        ;; emacs から辞書, http://sakito.jp/mac/dictionary.html#emacs
        (defun dictionary ()
          "Lookup in Dictionary.app"
          (interactive)
          (let ((editable (not buffer-read-only))
                (pt (save-excursion (mouse-set-point last-nonmenu-event)))
                beg end)
            (if (and mark-active
                     (<= (region-beginning) pt) (<= pt (region-end)) )
                (setq beg (region-beginning)
                      end (region-end))
              (save-excursion
                (goto-char pt)
                (setq end (progn (forward-word) (point)))
                (setq beg (progn (backward-word) (point)))
                ))
            (browse-url
             (concat "dict:///"
                     (url-hexify-string (buffer-substring-no-properties beg end))))))
        
        ;; F9 で検索
        (global-set-key (kbd "<f9>") 'dictionary)
        

        上の設定では、調べたい単語にカーソルをあわせ、F9 キーを押すと辞書アプリにジャンプすると思います。

        Safari など他のアプリ同様に、ポップアップで辞書アプリを引きたい場合は、Mac port パッチ (ftp://ftp.math.s.chiba-u.ac.jp/emacs/) を当てて自分でビルドすると可能です。導入は少し面倒ですが、こちら:

        http://sakito.jp/emacs/emacs23.html#experimental-hackers-only

        の通り行えば大丈夫だと思います。ただし、この Mac port パッチは「experimental/hackers-only」とのことですので、ある程度自己責任での管理が必要になる場合もあるかもしれません。

        ご参考までに。

  2. ご親切に返信ありがとうございます。
    ご教示いただいた方法を試しましたところ、F9キーでの辞書アプリ呼び出しが
    うまくいきませんでした。原因を究明する以前に当該の箇所を
    (global-set-key “\M-?” ‘dictionary)
    と書き直したら、使えるようになりました。ポップアップはしませんが
    emacsでの使用に関しては何の問題もありません。
    その後、なんとかmigemoが動くところまでいきましたが、基本がわかってないだけに
    前途多難です。たとえばことえりの確定アンドゥ(「かな」キーを二度押ししたら
    仮名変換が確定前にもどる)を受け付けてくれないなどまだまだ問題点が出てきそう
    です。
    今後、このブログで紹介していただいている便利な機能を逐次試していこうと
    思っています。今後ともよろしくお願いします。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s