Làm thế nào để bạn sao chép các tập tin từ một máy chủ từ xa vào một thư mục cục bộ trong emacs bằng cách sử dụng dired / tramp?


9

Khi tôi sử dụng tramp để mở một thư mục từ xa (giả sử Cx Cf / ssh: user @ example: / somedirectory), nó sẽ mở ra một bộ đệm được điều hướng cho thư mục từ xa đó. Vấn đề là tôi muốn sao chép các thư mục và hoặc các tệp từ máy chủ từ xa vào máy cục bộ của tôi. Tôi đã thử một vài cú pháp như đánh dấu tất cả thư mục hoặc tệp, nhấn 'C' và chỉ định cục bộ: / somelocaldir hoặc chỉ / somelocaldir, nhưng tốt nhất là các tệp được sao chép vào một tệp ở đâu đó trên máy chủ từ xa.

Có cách nào để sao chép các tập tin từ một bộ đệm được điều khiển từ xa (tramp) vào một thư mục cục bộ không? Tôi mới chỉ sử dụng emacs 6 tháng, vì vậy nếu có một cách tiếp cận hoàn toàn khác tốt hơn và vẫn cho phép tôi sử dụng emacs (tốt nhất là w / dired), điều đó sẽ rất tuyệt.

Chỉ cần làm rõ, tôi không quan tâm đến việc xem, chỉnh sửa, liệt kê, vv các tập tin từ xa. Tôi chỉ muốn sao chép các tập tin từ một máy chủ từ xa vào máy cục bộ của mình, với cùng hiệu quả bạn sẽ nhận được nếu bạn sử dụng scp hoặc scp -r. Tôi chỉ hy vọng tôi có thể làm điều này với việc phải bỏ emacs hoặc thậm chí sử dụng eshell (nhưng có lẽ tôi sẽ chỉ làm điều đó cho đến khi tôi nhận được câu trả lời ở đây).


Trong hầu hết các cài đặt tôi đã thấy, C-x C-f /user@somehost:/somedirlà đủ vì đây scplà phương thức trao đổi mặc định. Hãy thử nó và xem. Có lẽ bạn có thể lưu một vài va chạm quan trọng.
ephsmith

Điều đó chỉ cần mở một bộ đệm dired. Nó không thực sự sao chép thư mục trên như "scp -r user @ somehost: / somedir." sẽ làm.
mê cung

Tôi hiểu câu hỏi của bạn rõ ràng hơn bây giờ. Tiêu đề câu hỏi khiến tôi nghĩ rằng bạn muốn sao chép tệp trực tiếp từ đó dired. Tôi sử dụng ansi-termcho các lệnh như thế nếu tôi không muốn rời khỏi emacs. Emacs được xây dựng để tùy biến. Tôi chắc chắn rằng bạn sẽ nhận được câu trả lời với một đoạn trích ngắn ở một số điểm.
ephsmith

Câu trả lời:


8

Đây là một cách. Điều này làm việc cho tôi trên emacs 23.

Trong chế độ chuyển hướng, điều hướng đến tệp bạn muốn sao chép.

  1. Nhấn Mđể đánh dấu tập tin.
  2. Thực hiện M-x dired-do-copyvà bạn sẽ được nhắc về một vị trí trong bộ đệm mini.
  3. Chỉnh sửa vị trí thành vị trí địa phương bạn muốn sao chép và nhập vào.

Làm xong.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.