Windows版のEmacsで、Ubuntu や CentOS のファイルを直接編集する方法 – Emacs Tramp 🐮

Emacs

VirtualBox + Vagrant で UbuntuやCentOS を使っています。たまに JavaやJavaScript, CSSなどのファイルをいじる時があり、そのためだけにVMにEmacsを入れるのは面倒くさいと思っていました。また、インストールしても設定されていないEmacsだと使用感もいまいちです。

設定方法

Emacs からリモートでファイルを編集するには TRAMPという仕組みを利用します。sshでアクセスできる環境であれば、Windows上のローカルファイルを編集するのと同じ操作感で、ファイルの編集ができます。

最近のEmacsであれば 標準で Trampを利用できるので .emacs や init.el で Trampがplinkを使うように設定します。

;; plink コマンドを実行するように
(setq-default tramp-default-method "plink")

Putty(SSH) で 編集先のLinuxに接続できることを確認し、PLINKコマンドにはPATHを通しておきます。パスワードなしで接続するなら、Pagent で セッションを保存しておきましょう

使用方法

Dired で指定するパスを Trampのフォーマットにするだけです。

C-x C-f /plink:vagrant@localhost#2222:abc.txt
# /plink:USERID@HOSTADDR#PORT:PATH_TO_FILE

ディレクトリも開けます。通常のDiredの操作でコピーやリネームもできます。

C-x C-d /plink:vagrant@localhost#2222:/home/vagrant
# /plink:USERID@HOSTADDR#PORT:PATH_TO_DIRECTORY

Pagent でセッションを保存してあれば、セッション名でアクセスできます。予め公開鍵の設定をしておけばパスワードの入力の手間も省けます。ディレクトリのパスも省略可能で、省略するとホームディレクトリが開きます。

C-x C-d /plink:ubuntu@rp3:
# /plink:USERID@PAGENT_SESSION_NAME:[PATH_TO_DIRECTORY]

試した環境

Windows 10 Pro
GNU Emacs 26.3 (build 1, x86_64-w64-mingw32) of 2019-11-12
tramp-version 2.3.5.26.3
Putty Release 0.73
Ubuntu 19.10 eoan (接続先)

わし
わし

Pagent の設定を見てくれるのが楽ですね。SSHでログインしてEmacsを起動するのと、普段遣いのEmacsが使えるのでは別世界です。

コメント

タイトルとURLをコピーしました