ฉันได้เพิ่มคุณสมบัตินี้ไปยังDired +แล้ว
คุณสามารถใช้C-y
(คำสั่งdiredp-yank-files
) เพื่อวางไฟล์ซึ่งมีชื่อแบบสัมบูรณ์ที่คุณคัดลอกไปยัง kill ring ไปยังไดเร็กทอรีปัจจุบัน "ไดเรกทอรีปัจจุบัน" นี่คือสิ่งที่dired-current-directory
ส่งกลับ: ไดเรกทอรีย่อยที่แทรกที่เคอร์เซอร์ตั้งอยู่หรือไดเรกทอรีหลัก Dired หากเคอร์เซอร์ไม่ได้อยู่ในรายชื่อย่อย
ด้วยคำนำหน้าอาร์กิวเมนต์C-y
แทนที่จะแจ้งให้คุณสำหรับไดเรกทอรีเป้าหมายสำหรับการวาง ดังนั้นคุณไม่จำเป็นต้องอยู่ในบัฟเฟอร์ Dired เพื่อวางไฟล์ลงในไดเรกทอรี
คุณควรจะได้คัดลอกชื่อไฟล์ไปที่แหวนฆ่าโดยใช้หรือM-0 w
M-x diredp-copy-abs-filenames-as-kill
ใน Dired + คำสั่งเหล่านั้นยังตั้งค่าตัวแปรdiredp-last-copied-filenames
เป็นชื่อไฟล์เดียวกัน C-y
ใช้ค่าของตัวแปรนั้นไม่ใช่สิ่งที่อยู่ในหัวของวงแหวนฆ่าในปัจจุบัน ซึ่งหมายความว่าคุณไม่จำเป็นต้องวางทันทีหลังจากคัดลอกชื่อไฟล์ และหมายความว่าคุณสามารถทำได้แทนที่จะคัดลอกชื่อไฟล์ไปยัง kill ring เพียงแค่ใส่ชื่อในตัวแปรนั้น (เช่นโปรแกรม)
เมื่อคุณใช้C-y
คุณจะได้รับแจ้งให้ยืนยัน ( y
หรือn
) นอกจากนี้คุณยังสามารถกดl
(สำหรับ "รายชื่อ") เมื่อได้รับแจ้งเพื่อแสดงรายการไฟล์ที่จะถูกวาง
นอกจากนี้คุณยังสามารถคัดลอกไฟล์จากการทำเครื่องหมายบัฟเฟอร์ Dired ปัจจุบันและไฟล์การทำเครื่องหมายใด ๆ ในการทำเครื่องหมายไดเรกทอรีย่อยของตนที่กำหนดไว้ซ้ำ สำหรับสิ่งที่คุณใช้M-0 M-+ M-w
(ศูนย์คำนำหน้าหาเรื่องที่มีคำสั่งdiredp-copy-filename-as-kill-recursive
) M-x diredp-copy-abs-filenames-as-kill-recursive
หรือการใช้งาน
โปรดทราบว่าด้วย Dired + คุณสามารถมีบัฟเฟอร์ Dired ที่แสดงรายการไฟล์และไดเรกทอรีจำนวนเท่าใดก็ได้จากทุกที่ นั่นคือรายการที่ระบุไม่จำเป็นต้องอยู่ในไดเรกทอรีเดียวกันหรือแม้แต่ในไดเรกทอรีที่เกี่ยวข้อง ดูC-x D F
(คำสั่งdiredp-dired-for-files
) ซึ่งอยู่บนDirเมนูบาร์เป็นรายการทุก Dired ไฟล์ตั้งอยู่ คุณสามารถทำเครื่องหมายและวาง (คัดลอก) ไฟล์ที่กำหนดเองจากบัฟเฟอร์ Dired ไปยังไดเรกทอรีใด ๆ
อัปเดต 2019-04-22:
ฉันยังเพิ่มความสามารถในการย้าย (ไม่ใช่แค่วาง) ไฟล์ที่มีชื่อ (แน่นอน) ที่คุณคัดลอกไปยัง kill ring ไปยังไดเรกทอรีปัจจุบัน (หรืออื่น ๆ ) สิ่งนี้ผูกพันกับC-w
ใน Dired
diredp-move-files-named-in-kill-ring
dired+.el
เป็นแบบโต้ตอบฟังก์ชั่นเสียงกระเพื่อมใน
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
ย้ายไฟล์ซึ่งคุณคัดลอกชื่อแน่นอนไปยังไดเรกทอรีปัจจุบัน
ด้วยคำนำหน้าไม่ใช่เชิงลบคุณจะได้รับพร้อมท์สำหรับไดเรกทอรีเป้าหมายแทน
ด้วยคำนำหน้าที่ไม่เป็นบวกคุณสามารถดูรายละเอียดเกี่ยวกับไฟล์ได้หากคุณกดปุ่มl
เพื่อยืนยันการวาง มิฉะนั้นคุณจะเห็นเฉพาะชื่อไฟล์ diredp-list-file-attributes
รายละเอียดที่คุณเห็นจะถูกกำหนดโดยตัวเลือก
คุณควรจะได้รับการคัดลอกรายชื่อไฟล์เป็นสตริงแหวนฆ่าโดยใช้หรือM-0 w
M-x diredp-copy-abs-filenames-as-kill
คำสั่งเหล่านั้นยังตั้งค่าตัวแปรdiredp-last-copied-filenames
เป็นสตริงเดียวกัน diredp-move-files-named-in-kill-ring
ใช้ค่าของตัวแปรนั้นไม่ใช่สิ่งที่อยู่ในหัวของวงแหวนฆ่าในปัจจุบัน
เมื่อเรียกจาก Lisp:
- ARG ที่เป็นตัวเลือก
NO-CONFIRM-P
หมายถึงไม่ต้องขอการยืนยันการย้าย
- หาเรื่องตัวเลือกจะถูกส่งผ่านไปยัง
DETAILS
diredp-y-or-n-files-p
C-w
ต้องย้าย / เปลี่ยนชื่อไฟล์แทนที่จะเป็นสำเนาหรือไม่? ขอบคุณ