Ketika saya menggunakan tramp untuk membuka direktori jarak jauh (katakanlah Cx Cf / ssh: user @ example: / somedirectory), ia membuka buffer dired untuk direktori jarak jauh itu. Masalahnya adalah saya ingin menyalin direktori dan atau file dari server jauh ke mesin lokal saya. Saya sudah mencoba beberapa sintaksis seperti menandai semua direktori atau file, menekan 'C', dan menentukan lokal: / somelocaldir atau just / somelocaldir, tetapi yang terbaik file disalin ke file di suatu tempat di server jauh.
Apakah ada cara untuk menyalin file dari buffer diramp remote (tramp) ke dir lokal? Saya hanya menggunakan emacs 6 bulan, jadi jika ada pendekatan yang sama sekali berbeda yang lebih baik dan masih memungkinkan saya menggunakan emacs (sebaiknya w / dired), itu akan bagus.
Hanya untuk memperjelas, saya tidak tertarik melihat, mengedit, mendaftar, dll. File jarak jauh. Saya hanya ingin menyalin file dari server jauh ke mesin lokal saya, dengan efek yang sama Anda dapatkan jika Anda menggunakan scp atau scp -r. Saya hanya berharap saya bisa melakukan ini tanpa harus keluar dari emacs atau bahkan menggunakan eshell (tapi saya mungkin hanya akan melakukannya sampai saya mendapat jawaban di sini).
C-x C-f /user@somehost:/somedir
sudah cukup karenascp
metode pertukaran default. Cobalah dan lihatlah. Mungkin Anda bisa menghemat beberapa gundukan utama.dired
. Saya menggunakanansi-term
untuk perintah seperti itu jika saya tidak ingin meninggalkan emacs. Emacs dibangun untuk penyesuaian. Saya yakin Anda akan mendapatkan jawaban dengan potongan lisp di beberapa titik.Jawaban:
Ini satu cara. Ini berfungsi untuk saya di emacs 23.
Dalam mode dired, navigasikan ke file yang ingin Anda salin.
M-x dired-do-copy
dan Anda akan diminta untuk lokasi di buffer mini.Selesai
sumber