คุณจะคัดลอกไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังโฟลเดอร์ท้องถิ่นใน emacs โดยใช้ dired / tramp ได้อย่างไร?


9

เมื่อฉันใช้คนจรจัดเพื่อเปิดไดเรกทอรีระยะไกล (พูด Cx Cf / ssh: user @ example: / somedirectory) มันจะเปิดบัฟเฟอร์ dired สำหรับไดเรกทอรีระยะไกลนั้น ปัญหาคือฉันต้องการคัดลอกไดเรกทอรีและหรือไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังเครื่องท้องถิ่นของฉัน ฉันได้ลองใช้ซินแทกซ์เล็ก ๆ น้อย ๆ เช่นการทำเครื่องหมายไดเรกทอรีหรือไฟล์ทั้งหมดกด 'C' และระบุ local: / somelocaldir หรือ just / somelocaldir แต่ไฟล์ที่ดีที่สุดจะถูกคัดลอกไปยังไฟล์ที่อยู่บนเซิร์ฟเวอร์ระยะไกล

มีวิธีการคัดลอกไฟล์จาก remote buffer (tramp) ไปยัง dir ท้องถิ่นหรือไม่? ฉันใช้ emacs เพียง 6 เดือนเท่านั้นดังนั้นหากมีวิธีการที่แตกต่างไปจากเดิมอย่างสิ้นเชิงซึ่งดีกว่าและยังช่วยให้ฉันใช้ emacs ได้ (ควรมีช่วงเวลาที่เหนื่อยล้า) นั่นจะดีมาก

เพียงชี้แจงฉันไม่สนใจในการดูแก้ไขรายการ ฯลฯ ไฟล์ระยะไกล ฉันต้องการคัดลอกไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังเครื่องท้องถิ่นของฉันโดยมีเอฟเฟกต์แบบเดียวกันกับที่คุณได้รับหากคุณใช้ scp หรือ scp -r ฉันแค่หวังว่าฉันจะสามารถทำได้โดยไม่ต้องออกจาก emacs หรือแม้แต่ใช้ eshell (แต่ฉันอาจทำอย่างนั้นจนกว่าฉันจะได้รับคำตอบที่นี่)


ในการติดตั้งส่วนใหญ่ที่ฉันเคยเห็นC-x C-f /user@somehost:/somedirก็เพียงพอแล้วเนื่องจากscpเป็นวิธีการแลกเปลี่ยนเริ่มต้น ลองและดู บางทีคุณสามารถบันทึกการกระแทกที่สำคัญ
ephsmith

ที่เพิ่งเปิดบัฟเฟอร์ที่ dired ไม่ได้คัดลอก dir เหมือน "scp -r user @ somehost: / somedir" จะทำ.
เขาวงกต

ตอนนี้ฉันเข้าใจคำถามของคุณชัดเจนขึ้น diredชื่อคำถามที่ทำให้ผมคิดว่าคุณต้องการที่จะคัดลอกไฟล์ได้โดยตรงจาก ฉันใช้ansi-termสำหรับคำสั่งเช่นนั้นหากฉันไม่ต้องการออกจาก emacs Emacs ถูกสร้างขึ้นสำหรับการปรับแต่ง ฉันแน่ใจว่าคุณจะได้รับคำตอบด้วยตัวอย่างเสียงกระเพื่อมในบางจุด
ephsmith

คำตอบ:


8

นี่คือวิธีหนึ่ง สิ่งนี้ใช้ได้กับฉันใน emacs 23

ในโหมดที่ล้าสมัยให้นำทางไปยังไฟล์ที่คุณต้องการคัดลอก

  1. กดMเพื่อทำเครื่องหมายไฟล์
  2. ทำM-x dired-do-copyและคุณจะได้รับแจ้งให้ระบุตำแหน่งใน mini-buffer
  3. แก้ไขตำแหน่งไปยังตำแหน่งท้องถิ่นที่คุณต้องการคัดลอกไปยังและป้อน smack

เสร็จสิ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.