OSX Snow Leopard、またはLion用
Emacs関連のメモです。
断りがない限りターミナル上で動くEmacsに関する内容です。
完全に自分用の備忘録となっています。なお、今までほとんどEmacsを使用したり調べたりしたことがないので(当然のごとくLISPも知りません)、間違った記載があったらごめんなさい。
動作確認はSnow Leopard、Lionの両方で行うようにしています。
スクリーンショットはSnow Leopard、Lion混在してます。
■Emacsのバージョンアップ
MacPorts経由でバージョンアップする場合は
・Xcodeをインストール(2011/07/27現在、Lion版はApp Storeにて無料配布中)
・
MacPortsをインストール
・ターミナルで sudo port install emacsを実行
※アップデートする場合は sudo port sync ; sudo port install outdated
このセクションは
こちらを参考にしております。
なお2011/07/27時点でLion用Xcodeインストールには色々トラブルが起きています(僕も起きました)。App Storeのカスタマーレビューに各種対応法が出ていますので、トラブルが起きたときは一読をオススメします。
■sudo port install emacs前後のパスとバージョン
・前 → path:/usr/bin/emacs、version:22.1.1
・後 → path:/opt/local/bin/emacs、version:23.3.1(※2011/07/27時点)
※which emacs、emacs -versionの結果です
■メタキーとしてAlt/optionキーを使用する
メタキーとしてAlt/optionキーを使用する場合、ターミナルの環境設定で以下のチェックをオンにします。

このスクリーンショットはSnow Leopardですが、Lionでも同様です。
■設定ファイルについて
ググってみると
1・~/.emacs.el
2・~/.emacs
のいずれかを設定ファイルとしましょう、という記載がほとんどですが、
こちらによると
3・
~/.emacs.d/init.el に記載するのがフォーマルなんですね。
余談ですが僕は ln ~/.emacs.d/init.el ~/.emacs とリンクを貼りました(編集時に楽するため)。
なお設定ファイルは読み込みの優先順位が 1 < 2 < 3 となっており、優先順位が高いファイルが存在すると低いファイルは読み込まれません。
■ctrl-hでバックスペースする
OSXの一般的なショートカットにもなっている
・control + H → カーソルの左側の文字を削除(バックスペースですね)
をEmacsでも適用するには、設定ファイルに
(global-set-key "\C-h" 'delete-backward-char) を追加することで実現できました。
■行番号を表示する
行番号を表示しようとする場合は
linum.elや
wb-line-number.elを導入して…という記述をよく見かけるのですが、最新版(23.3.1)では不要でした(
23.1から不要になった?)。
設定ファイルに
(global-linum-mode)を記述するだけ、で行番号が表示されました。
ただ、これだけだと行番号と文字列がくっつきすぎだと感じたので、
こちらを参考にして
(setq linum-format "%5d ")を設定ファイルに追加して整形しました。
・整形前

・整形後

■Ctrl-SpaceはSpotlight or リージョン選択?
OSXのショートカットはEmacsを結構踏襲してい(るように見え)ます。
が、Ctrl-Spaceは
・Emacs : リージョン選択
・OSX : Spotlight検索フィールドを表示
という割り当てになっています。つまりコマンドがかぶっているわけですね(Eclipseの補完機能ともかぶってますね)。
結構調べてみましたが、
ターミナルのEmacsでCtrl-Spaceのリージョン選択を有効にする
ためには、
OSXの「Spotlight検索フィールドを表示」のショートカットを変更またはOFFにする
必要がある、という結論でした。
僕は「Spotlight検索フィールドを表示」のショートカットをALT-Spaceに変更しました。