Come si copiano i file da un server remoto in una cartella locale in emacs usando dired / tramp?


9

Quando uso il vagabondo per aprire una directory remota (diciamo Cx Cf / ssh: user @ example: / somedirectory), si apre un buffer diretto per quella directory remota. Il problema è che voglio copiare directory e / o file dal server remoto sul mio computer locale. Ho provato alcune sintassi come contrassegnare tutta la directory o i file, premendo 'C' e specificando local: / somelocaldir o just / somelocaldir, ma nella migliore delle ipotesi i file vengono copiati su un file da qualche parte sul server remoto.

C'è un modo per copiare i file da un buffer diretto (tramp) diretto a una directory locale? Uso emacs solo da 6 mesi, quindi se c'è un approccio completamente diverso che è meglio e mi permette ancora di usare emacs (preferibilmente con regia), sarebbe fantastico.

Solo per chiarire, non sono interessato a visualizzare, modificare, elencare, ecc. File remoti. Voglio solo copiare i file da un server remoto sul mio computer locale, con lo stesso effetto che otterresti se avessi usato scp o scp -r. Spero solo di poterlo fare senza dover abbandonare emacs o persino usare l'eshell (ma probabilmente lo farò solo finché non avrò una risposta qui).


Nella maggior parte delle installazioni che ho visto, C-x C-f /user@somehost:/somedirè sufficiente poiché scpè il metodo di scambio predefinito. Provalo e vedi. Forse puoi salvare alcuni dossi chiave.
ephsmith il

Questo apre solo un buffer diretto. In realtà non copia la directory come "scp -r user @ somehost: / somedir". farebbe.
labirinto,

Capisco la tua domanda più chiaramente ora. Il titolo della domanda mi faceva pensare che volessi copiare i file direttamente da dired. Uso ansi-termper comandi del genere se non voglio lasciare emacs. Emacs è stato creato per la personalizzazione. Sono sicuro che ad un certo punto otterrai una risposta con un frammento di lisp.
ephsmith il

Risposte:


8

Ecco un modo. Questo funziona per me su emacs 23.

In modalità Dired, vai al file che desideri copiare.

  1. Premere Mper contrassegnare il file.
  2. Fai una M-x dired-do-copye ti verrà richiesto un percorso nel mini-buffer.
  3. Modifica la posizione nella posizione locale in cui desideri copiare e premi invio.

Fatto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.