Wie kopiere ich Dateien von einem Remote-Server in einen lokalen Ordner in Emacs mit Dired / Tramp?

3564
labyrinth

Wenn ich tramp zum Öffnen eines Remote-Verzeichnisses verwende (z. B. Cx Cf / ssh: user @ example: / somedirectory), wird ein Pufferspeicher für dieses Remote-Verzeichnis geöffnet. Das Problem ist, dass ich Verzeichnisse und / oder Dateien vom Remote-Server auf meinen lokalen Computer kopieren möchte. Ich habe ein paar Syntaxe ausprobiert, z. B. alle Verzeichnisse oder Dateien markieren, 'C' drücken und local: / somelocaldir oder nur / somelocaldir angeben, aber im besten Fall werden die Dateien in eine Datei auf dem Remote-Server kopiert.

Gibt es eine Möglichkeit, Dateien aus einem Remote-Speicher (Tramp) in ein lokales Verzeichnis zu kopieren? Ich habe Emacs erst seit 6 Monaten verwendet. Wenn es also eine völlig andere Herangehensweise gibt, die besser ist und ich mich trotzdem mit Emacs beschäftigen kann (vorzugsweise w / dired), wäre das großartig.

Nur zur Klarstellung, ich bin nicht daran interessiert, entfernte Dateien anzuzeigen, zu bearbeiten, aufzulisten usw. Ich möchte nur Dateien von einem Remote-Server auf meinen lokalen Computer kopieren, mit dem gleichen Effekt, den Sie erzielen würden, wenn Sie scp oder scp -r verwendet hätten. Ich hoffe nur, dass ich dies tun kann, ohne Emacs abbrechen oder sogar die Eshell benutzen zu müssen (aber ich werde das wahrscheinlich nur tun, bis ich hier eine Antwort bekomme).

8
In den meisten Installationen, die ich gesehen habe, ist "Cx Cf / user @ somehost: / somedir" ausreichend, da "scp" die Standard-Austauschmethode ist. Probieren Sie es aus und sehen Sie. Vielleicht können Sie ein paar Schlüsselpunkte speichern. ephsmith vor 11 Jahren 0
Das öffnet nur einen Zwischenspeicher. Es kopiert das Verzeichnis nicht wirklich wie "scp -r user @ somehost: / somedir". würdest du. labyrinth vor 11 Jahren 0
Ich verstehe deine Frage jetzt klarer. Der Fragetitel ließ mich denken, Sie wollten Dateien direkt von "dired" kopieren. Ich verwende `ansi-term` für solche Befehle, wenn ich Emacs nicht verlassen möchte. Emacs wurde zur Anpassung entwickelt. Ich bin sicher, dass Sie irgendwann eine Antwort mit einem Lisp-Ausschnitt erhalten. ephsmith vor 11 Jahren 0

1 Antwort auf die Frage

6
ephsmith

Here's one way. This works for me on emacs 23.

In dired mode, navigate to the file you'd like to copy.

  1. Press M to mark the file.
  2. Do an M-x dired-do-copy and you'll be prompted for a location in the mini-buffer.
  3. Edit the location to the local location you'd like to copy to and smack enter.

Done.

Wunderschönen. Vielen Dank, Schmied! labyrinth vor 11 Jahren 0