Remote file editing on GNU Emacs using TRAMP
I have been using GNU Emacs for programming for nearly 9 years now. It is exciting to keep discovering new extensions to Emacs throughout. I have heard of Ange-FTP before that can be used for remote file editing using FTP. However, I have never tried remote file editing on a local Emacs session. In most of the scenarios, I was dealing with editing files on the remote machines by invoking Emacs locally on those machines. But this time, I felt that invoking GNU Emacs (22) on my tiny VPS would be an overkill. So, I decided to try out remote file editing from a local Emacs session.
Even though I knew that I can do this with AgneFTP, I didn't really care
to read the info about it as I don't run FTP on my server. The first hit
on Google when I searched about remote file editing on Emacs was
TRAMP (Transparent Remote
[file] Access, Multiple Protocol). I am using GNU Emacs 23 trunk
snapshot. TRAMP is included by default in GNU Emacs 22+. Configuration
of TRAMP was quite simple. I had to load the module and set the protocol
for remote access. Just a two liner in my
.emacs did the trick.
(require 'tramp) (add-to-list 'tramp-default-method-alist '("praveen.kumar.in" "" "ssh"))
The three entries for
tramp-default-method-alist element are
protocol. You can fill in the
host, the user or both. Another interesting use of TRAMP is editing
files as root on local machine. This can be quite handy as well. Take
a look at TRAMP user guide
for full configuration options. Once I added these lines, I was able
/home/praveen/.bashrc on my server using the file name
/praveen.kumar.in:~/.bashrc in the normal
(C-x C-f) function. Happy remote editing!