by shigemk2

当面は技術的なことしか書かない

emacsからターミナルへ、ターミナルからemacsへアクセスする

マスタカの ChangeLog メモ / 2011-09-28
ここをほぼ踏襲してます。
僕もElScreenを使っているので、とても参考になりました。
まずは.zshrcに、このような関数を書きましょう。

2つの関数を定義しております。
で、これを基にdiredコマンド、cdeコマンドを実行すると…

can't find socket

なるエラーが…出てしまうのです。
つまり…emacsclientが動かないと。
一応"M-x server-start"を実行しろというアドバイスもしてくれるのですが、
設定ファイルには(server-start)って書いてるし、M-x server-startをやっても何も改善されないし…

というわけで、こちら
EmacsWiki: Emacs Client
を参考にしたところ、.zshrcに

alias emacsclient="/Applications/Emacs.app/Contents/MacOS/bin/emacsclient"

と書いたら、diredやcdeが動くようになりました。

ちなみに
dired 実行するとターミナルのカレントディレクトリのバッファをemacsで開いてくれる
cde 実行するとemacsの今のバッファのカレントディレクトリにターミナルがChdirしてくれる

まあ覚えておくと良いでしょう。
まさに風のように駆け抜けてますね。

追記:コピペしたら負けらしいので、Gistのコードを埋めこみました。