こんにちは、okutaniです。Emacsには、ローカルのEmacsからサーバーへSSH接続できる『tramp』という機能があります。
このtrampを使うと、サーバー上にあるファイルをサーバー上で直接編集することができて便利です。
このtrampは、最近のEmacsでは標準で入っているため、めんどうなインストールや設定は不要です。私が使っているGNU Emacs 24.5.1には最初からインストールされていました。
なお、本記事ではサーバーにエックスサーバーで使っています。SSHが使えるサーバーであれば、レンタルサーバーでも問題なく動作するかと思います。
ではさっそく、trampを使ってEmacsでSSH接続してみましょう。
スポンサーリンク
Emacs&trampでSSH接続してみよう
Emacsを立ち上げ、「C-x C-f(もしくはM-x find-file)」のあとに「/ssh:username@hostname:path/to/file」などと入力。すぐにtrampで接続できます。
ファイルパスは、ディレクトリを指定すれば「Dired」で開くことも可能です。すごいですね。。
また、ローカルの「~/.ssh/config」の設定も読み込んでくれるため、これを利用すればさらに楽にログインすることができます。
参考エックスサーバーにSSHで接続してみよう! | vdeep
上記の記事と同じ「~/.ssh/config」の設定を載せておきます。
Host xsrv HostName サーバーID.xsrv.jp Port 10022 User サーバーID IdentityFile ~/.ssh/id_rsa
この設定があれば、次のコマンドをtrampで入力するだけで、かんたんにサーバーにログインすることができます。
/ssh:xsrv:
Image may be NSFW.
Clik here to view.
上記のように、エックスサーバーのホームディレクトリ上でdiredが開きました。このまま通常どおりEmacsを使ってファイル編集ができます。
また、sshではなくscpを使うと、より高速に処理できるようです。気になる方は試してみてください。
参考Emacs – TRAMPで/ssh:ではなく/scp:を使うようにしたらファイル転送速度が100倍になった – Qiita
参考になれば幸いです。