Как вы копируете файлы с удаленного сервера в локальную папку в emacs, используя dired/tramp?

Когда я использую tramp для открытия удаленного каталога (скажем, Cx Cf /ssh:user@example:/somedirectory), он открывает буфер для этого удаленного каталога. Проблема в том, что я хочу скопировать каталоги и / или файлы с удаленного сервера на мой локальный компьютер. Я пробовал несколько синтаксисов, таких как маркировка всех каталогов или файлов, нажатие клавиши "C" и указание local:/somelocaldir или просто /somelocaldir, но в лучшем случае файлы копируются в файл где-то на удаленном сервере.

Есть ли способ скопировать файлы из удаленного буфера (tramp) в локальный каталог? Я использую emacs всего 6 месяцев, поэтому, если есть совершенно другой подход, который лучше и все же позволяет мне использовать emacs (желательно w / dired), это было бы здорово.

Просто чтобы уточнить, я не заинтересован в просмотре, редактировании, распечатке и т. Д. Удаленных файлов. Я просто хочу скопировать файлы с удаленного сервера на мой локальный компьютер, с тем же эффектом, который вы получите, если бы использовали scp или scp -r. Я просто надеюсь, что смогу сделать это без необходимости выпадать из emacs или даже использовать eshell (но я, вероятно, просто буду делать это, пока не получу ответ здесь).

1 ответ

Решение

Вот один из способов. Это работает для меня на Emacs 23.

В режиме Dired перейдите к файлу, который вы хотите скопировать.

  1. Нажмите M, чтобы отметить файл.
  2. Сделать M-x dired-do-copy и вам будет предложено указать местоположение в мини-буфере.
  3. Измените местоположение на локальное местоположение, в которое вы хотите скопировать, и нажмите "Enter".

Готово.

Другие вопросы по тегам