Emacs には、リモートホストにあるファイルをあたかもローカルにあるよ
うに扱える Tramp という機構がある。例えば remotehost の $HOME を開
きたい場合は、以下のように find-file する。
C-x C-f /remotehost:
パスワードを聞かれない設定は [2007-01-27-1] にまとめてある。
接続方式は、tramp-default-method の値が使われる。私の環境では初期値
として、“scp” が設定されていた。
ただ、masutaka.net に接続しようとすると、ミニバッファに以下のメッセー
ジが出て接続できなかった。
Tramp: Waiting for prompts from remote shell
ググってみたら、そのものズバリのページがあった。
TRAMPとZsh - ゴミ箱の中の雑記帳
私の場合も Emacs の TRAMP のバッファでは接続できているように見え、
プロンプトの前に ^M が 2 つ付いている。リモートホストのログインシェ
ルが zsh だと、プロンプトの前の ^M が悪さをするようだ。
TRAMP の接続方法を scp から scpx に変更すると、標準のログインシェル
ではなく /bin/sh が使われるとのこと。で、以下の設定をしたら接続でき
た。やった!
(setq tramp-default-method “scpx”)
ちなみに、ftp でしかアクセスできないリモートホストは以下のように
find-file する。
C-x C-f /ftp:remotehost:
デフォルトの接続方法を ftp にしたい場合はこんな設定。
(setq tramp-default-method “ftp”)
追記(2009-05-23):
時々、ファイルの保存中に応答がなくなることがあって、C-g するとファ
イルが壊れてしまう。原因不明。ローカルにコピーして修正したものを
rsync でコピーした方が良さそう。