ไฟล์ของฉันมีชื่อไฟล์ยาวและส่วนหนึ่งของชื่อไฟล์คือวันที่และหมายเลขเวอร์ชัน บ่อยครั้งที่ฉันต้องการบันทึกไฟล์ในบัฟเฟอร์โดยใช้ชื่อเกือบเหมือนกันเพียงแค่เปลี่ยนหมายเลขรุ่นหรือวันที่
นี่จะง่ายกว่านี้ถ้าฉันมีคำสั่งซึ่งใส่ชื่อไฟล์ของบัฟเฟอร์ปัจจุบันลงใน kill ring เพื่อให้ฉันสามารถเปิดไฟล์จากนั้นพิมพ์C-x C-w
(เขียนไฟล์) ดึงชื่อปัจจุบันด้วย Cy เปลี่ยนและบันทึก มัน.
ฉันใช้ Emacs 24.3 บน Windows และ 24.4 บน Linux ฉันต้องใช้ชื่อไฟล์ที่แตกต่างกันและไม่ต้องคอมไพล์ด้วยเหตุผลต่าง ๆ ฉันยินดีหากคำสั่งนี้ทำงานกับ AUCTeX / LaTeX เป็นโหมดหลัก
แก้ไข 1:
ฉันทำผิดพลาด: ฉันไม่ต้องการพิมพ์C-x C-f
(= ค้นหาไฟล์) แต่C-x C-w
(= เขียนไฟล์) ฉันแก้ไขสิ่งนี้แล้ว
แก้ไข 2:
พบคำถามและคำตอบที่ซ้ำกัน: /unix//a/45381แต่ไม่มีคำตอบที่ดีกว่า!
แก้ไข 3:
ที่นี่: http://www.gnu.org/software/emacs/manual/html_node/elisp/File-Name-Components.htmlเป็นฟังก์ชันซึ่งเลือกส่วน "nondirectory" ของชื่อไฟล์:
ฟังก์ชัน: file-name-nondirectory filename
This function returns the nondirectory part of filename. (file-name-nondirectory "lewis/foo") ⇒ "foo" (file-name-nondirectory "foo") ⇒ "foo" (file-name-nondirectory "lewis/") ⇒ ""
ถ้าฉันรู้แค่เสียงกระเพื่อม ...