Dired ให้ฉันทำเครื่องหมายไฟล์และส่งชื่อเป็นอาร์กิวเมนต์ไปยังคำสั่งเชลล์โดยพลการ ฉันต้องการวิธีที่จะระบุชื่อที่ทำเครื่องหมายไว้เป็นอาร์กิวเมนต์ของฟังก์ชัน Emacs Lisp ไม่ว่าจะเป็นในตัวหรือที่ฉันเขียนเอง
Dired ให้ฉันทำเครื่องหมายไฟล์และส่งชื่อเป็นอาร์กิวเมนต์ไปยังคำสั่งเชลล์โดยพลการ ฉันต้องการวิธีที่จะระบุชื่อที่ทำเครื่องหมายไว้เป็นอาร์กิวเมนต์ของฟังก์ชัน Emacs Lisp ไม่ว่าจะเป็นในตัวหรือที่ฉันเขียนเอง
คำตอบ:
dired-get-marked-files
ฟังก์ชั่นการใช้งานเพียงแค่ มันจะให้รายชื่อของไฟล์ที่ทำเครื่องหมายไว้และชื่อไดเรกทอรี จากนั้นใช้funcall
หรือapply
ส่งต่อไปยังฟังก์ชัน
(คุณยังสามารถใช้w
ใน Dired เพื่อคัดลอกชื่อที่คั่นด้วยช่องว่างไปยังสตริง (เดี่ยว) บนkill-ring
, ซึ่งคุณสามารถดึงเพื่อแทรกเป็นกลุ่มได้ทุกที่ที่คุณต้องการ)