Когда я использую tramp для открытия удаленного каталога (скажем, Cx Cf / ssh: user @ example: / somedirectory), он открывает буфер для этого удаленного каталога. Проблема в том, что я хочу скопировать каталоги и / или файлы с удаленного сервера на мой локальный компьютер. Я пробовал несколько синтаксисов, таких как маркировка всех каталогов или файлов, нажатие клавиши 'C' и указание local: / somelocaldir или просто / somelocaldir, но в лучшем случае файлы копируются в файл где-нибудь на удаленном сервере.
Есть ли способ скопировать файлы из удаленного буфера (tramp) в локальный каталог? Я использую emacs только 6 месяцев, поэтому, если есть совершенно другой подход, который лучше и все же позволяет мне использовать emacs (предпочтительно w / dired), это было бы здорово.
Просто чтобы уточнить, я не заинтересован в просмотре, редактировании, распечатке и т. Д. Удаленных файлов. Я просто хочу скопировать файлы с удаленного сервера на мой локальный компьютер, с тем же эффектом, который вы получите, если бы использовали scp или scp -r. Я просто надеюсь, что смогу сделать это без необходимости выпадать из emacs или даже использовать eshell (но я, вероятно, просто буду делать это, пока не получу ответ здесь).
C-x C-f /user@somehost:/somedir
достаточно, такscp
как это метод обмена по умолчанию. Попробуйте и посмотрите. Может быть, вы можете сохранить несколько ключевых ударов.dired
. Я используюansi-term
такие команды, если не хочу покидать emacs. Emacs был построен для настройки. Я уверен, что в какой-то момент вы получите ответ с фрагментом кода.Ответы:
Вот один из способов. Это работает для меня на Emacs 23.
В режиме Dired перейдите к файлу, который вы хотите скопировать.
M-x dired-do-copy
и вам будет предложено указать местоположение в мини-буфере.Выполнено.
источник