Як скопіювати файли з віддаленого сервера в локальну папку в emacs за допомогою dired / tramp?


9

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

Чи є спосіб скопіювати файли з віддаленого ("бродячого") буфера в місцевий dir? Я використовую лише emacs 6 місяців, тож якщо є зовсім інший підхід, який є кращим і все ж дозволяє мені використовувати emacs (бажано, коли б це не було), це було б чудово.

Просто для уточнення, мені не цікаво переглядати, редагувати, перераховувати тощо віддалені файли. Я просто хочу скопіювати файли з віддаленого сервера на свою локальну машину, з тим самим ефектом, який ви отримаєте, якби використовували scp або scp -r. Я просто сподіваюся, що мені вдасться зробити це без відмови від emacs або навіть використовувати ешел (але я, мабуть, просто так роблю, поки не отримаю тут відповіді).


У більшості установок, які я бачив, C-x C-f /user@somehost:/somedirдостатньо, оскільки scpце метод обміну за замовчуванням. Спробуйте і подивіться. Можливо, ви можете зберегти кілька ключових ударів.
ephsmith

Це просто відкриває відряджений буфер. Він насправді не копіює реж на "scp -r user @ somehost: / somedir". зробив би.
лабіринт

Зараз я розумію ваше питання чіткіше. У заголовку питання я думав, що ви хочете скопіювати файли безпосередньо з dired. Я використовую ansi-termтакі команди, якщо я не хочу залишати emacs. Emacs був побудований для налаштування. Я впевнений, що у якийсь момент ви отримаєте відповідь за допомогою фрагмента lisp.
ephsmith

Відповіді:


8

Ось один із способів. Це працює для мене на emacs 23.

У режимі перенаправлення перейдіть до файлу, який ви хочете скопіювати.

  1. Натисніть, Mщоб позначити файл.
  2. Зробіть M-x dired-do-copyі вам буде запропоновано розташування в міні-буфері.
  3. Відредагуйте місцеположення на локальне місце, у яке ви хочете скопіювати, і впустіть його.

Зроблено.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.