¿Cómo se copian archivos de un servidor remoto a una carpeta local en emacs usando dired / tramp?

9

Cuando uso vagabundo para abrir un directorio remoto (por ejemplo, Cx Cf / ssh: user @ example: / somedirectory), abre un búfer directo para ese directorio remoto. El problema es que quiero copiar directorios y / o archivos del servidor remoto a mi máquina local. He intentado algunas sintaxis como marcar todo el directorio o archivos, presionar 'C' y especificar local: / somelocaldir o solo / somelocaldir, pero en el mejor de los casos los archivos se copian en un archivo en algún lugar del servidor remoto.

¿Hay alguna manera de copiar archivos desde un búfer dired remoto (vagabundo) a un directorio local? Solo he estado usando emacs 6 meses, por lo que si hay un enfoque completamente diferente que sea mejor y aún me permita usar emacs (preferiblemente con dired), sería genial.

Solo para aclarar, no estoy interesado en ver, editar, enumerar, etc. archivos remotos. Solo quiero copiar archivos de un servidor remoto a mi máquina local, con el mismo efecto que obtendrías si usaras scp o scp -r. Solo espero poder hacer esto sin tener que abandonar emacs o incluso usar el eshell (pero probablemente lo haré hasta que obtenga una respuesta aquí).

laberinto
fuente
En la mayoría de las instalaciones que he visto, C-x C-f /user@somehost:/somedires suficiente ya que scpes el método de intercambio predeterminado. Pruébalo y verás. Tal vez pueda guardar algunos golpes clave.
ephsmith
Eso solo abre un búfer dired. En realidad, no copia el directorio como "scp -r user @ somehost: / somedir". haría.
laberinto
Entiendo tu pregunta más claramente ahora. El título de la pregunta me hizo pensar que querías copiar archivos directamente dired. Utilizo ansi-termcomandos como ese si no quiero dejar emacs. Emacs fue construido para la personalización. Estoy seguro de que obtendrá una respuesta con un fragmento de lisp en algún momento.
ephsmith

Respuestas:

8

Aquí hay una manera. Esto funciona para mí en emacs 23.

En modo directo, navegue hasta el archivo que desea copiar.

  1. Presione Mpara marcar el archivo.
  2. Haga una M-x dired-do-copyy se le pedirá una ubicación en el mini-búfer.
  3. Edite la ubicación en la ubicación local a la que desea copiar y presione enter.

Hecho.

ephsmith
fuente