Tipp: Editing Remote Files

von Hubert Schmid vom 2013-04-21

Sich mit ssh auf einem entfernten Linux-Rechner anmelden und mit einem dort installierten Texteditor Dateien bearbeiten, das gehört zum täglichen Geschäft vieler Entwickler. Kaum verbreitet ist dagegen die umgekehrte Vorgehensweise: Statt in der ungewohnten Umgebung zu arbeiten einfach die zu bearbeitenden Dateien in die eigene Umgebung zu bringen. Diese Funktionalität ist in viele Entwicklungsumgebungen bereits integriert oder durch Plugins nachrüstbar.

Die Vorteile liegen auf der Hand: Die lokale Entwicklungsumgebung ist an die eigenen Bedürfnisse angepasst und in der Regel mit mehr Funktionalität ausgestattet. Außerdem entfällt die störende Netzwerklatenz während der Arbeit.

In Emacs funktioniert das über den ganz normalen Weg. Mit C-x C-f (find-file) springt man in den Mini-Buffer, wo man beispielsweise einfach /user@example.org: eintippt. Schon öffnet sich der Dired-Mode mit dem entfernten Home-Verzeichnis, wo sich Dateien ganz normal öffnen, kopieren, verschieben und löschen lassen – einschließlich der Auto-Vervollständigung von Dateinamen. Den gleichen Mechanismus kann man selbstredend auch direkt von der Kommandozeile verwenden:

$ emacs '/user@example.org:/path/to/file'

Das dahinter liegende Modul heißt Tramp und unterstützt neben ssh noch weitere Zugriffsmethoden. So lassen sich beispielsweise mit /su:: oder /sudo:: auch einfach Dateien eines anderen Benutzers bearbeiten:

$ emacs '/su::/etc/fstab'

Wenig überraschend enthält Vim eine ganz ähnliche Funktionalität. Auch dort lassen sich entfernte Dateien über eine Art von URL öffnen und bearbeiten. Das funktioniert sowohl aus dem laufenden Programm heraus mittels :e scp://user@example.org//path als auch von der Kommandozeile:

$ vim 'scp://user@example.org//path/to/file'

Zu anderen Entwicklungsumgebungen kann ich nicht viel Information beitragen. Eine Internetsuche liefert zumindest zahlreiche Treffer zu Eclipse und Sublime Text. Ich nehme daher an, dass die Bearbeitung entfernter Dateien auch dort entweder direkt oder über zusätzlich installierbare Plugins möglich ist.

Fazit: Keine zeitraubende Textbearbeitung über langsame Netzwerke in ungewohnter Umgebung.