Como você copia arquivos de um servidor remoto para uma pasta local no emacs usando dired / tramp?

8

Quando eu uso o tramp para abrir um diretório remoto (digamos C-x C-f / ssh: usuario @ example: / algumediretorio), ele abre um buffer dired para esse diretório remoto. O problema é que eu quero copiar diretórios e / ou arquivos do servidor remoto para minha máquina local. Eu tentei algumas sintaxes como marcar todos os diretórios ou arquivos, pressionando 'C' e especificando local: / somelocaldir ou apenas / somelocaldir, mas na melhor das hipóteses os arquivos são copiados para um arquivo em algum lugar no servidor remoto.

Existe uma maneira de copiar arquivos de um buffer dired remoto (tramp) para um diretório local? Eu só tenho usado o emacs 6 meses, então se há uma abordagem completamente diferente que é melhor e ainda me deixa usar o emacs (preferencialmente com o dired), isso seria ótimo.

Só para esclarecer, não estou interessado em ver, editar, listar, etc. arquivos remotos. Eu só quero copiar arquivos de um servidor remoto para minha máquina local, com o mesmo efeito que você obteria se tivesse usado scp ou scp -r. Eu só estou esperando que eu possa fazer isso sem ter que abandonar o emacs ou mesmo usar o eshell (mas eu provavelmente só farei isso até obter uma resposta aqui).

    
por labyrinth 06.07.2012 / 06:41

1 resposta

6

Aqui está um jeito. Isso funciona para mim no emacs 23.

No modo dired, navegue até o arquivo que você deseja copiar.

  1. Pressione M para marcar o arquivo.
  2. Faça um M-x dired-do-copy e você será solicitado a fornecer um local no mini-buffer.
  3. Edite o local para o local que você deseja copiar e dê um tapa.

Concluído.

    
por 06.07.2012 / 07:04

Tags