เมื่อแก้ไขไฟล์foo.bar~
ข้อมูลสำรองบางอย่างจะปรากฏขึ้น (ไฟล์ที่ลงท้ายด้วยตัวหนอน ~) ฉันจะควบคุมการสร้างของพวกเขาได้อย่างไรและเป็นไปได้ไหมที่จะขอให้ลบไฟล์จำนวนมากแบบเรียกซ้ำทั้งหมดจากไดเรกทอรีเฉพาะและไดเรกทอรีย่อยทั้งหมด
เมื่อแก้ไขไฟล์foo.bar~
ข้อมูลสำรองบางอย่างจะปรากฏขึ้น (ไฟล์ที่ลงท้ายด้วยตัวหนอน ~) ฉันจะควบคุมการสร้างของพวกเขาได้อย่างไรและเป็นไปได้ไหมที่จะขอให้ลบไฟล์จำนวนมากแบบเรียกซ้ำทั้งหมดจากไดเรกทอรีเฉพาะและไดเรกทอรีย่อยทั้งหมด
คำตอบ:
คุณสามารถสร้างไฟล์สำรองทั้งหมดเพื่อไปยังไดเร็กตอรี่ได้
(setq backup-directory-alist `(("." . "~/.emacs.bak")))
และปิดมันอย่างสมบูรณ์ด้วย
(setq make-backup-files nil)
แม้ว่าจะไม่มีใครแนะนำ
การสำรองข้อมูลสำหรับบางโครงการเท่านั้นไม่ใช่เรื่องง่าย: คุณจะต้องพลิกตัวแปรนั้นใน hooks ต่างๆ
ในที่สุดการขอลบจำนวนมากจะเท่ากับ:
find . -name '*~' -exec rm {} \;
ดังนั้นคุณน่าจะทำได้ดีกว่าในเปลือก
dired
ทำให้ง่ายต่อการลบไฟล์สำรองทั้งหมดในไดเรกทอรี - จากdired
เพียงพิมพ์~
เพื่อทำเครื่องหมายไฟล์สำรองสำหรับการลบและx
ดำเนินการลบ
จากhttps://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Names.html#Backup-Names
คุณสามารถปรับแต่งตัวแปร backup-directory-alist เพื่อระบุว่าไฟล์ที่ตรงกับรูปแบบบางอย่างควรสำรองในไดเรกทอรีเฉพาะ ตัวแปรนี้ใช้กับการสำรองข้อมูลทั้งแบบเดี่ยวและแบบตัวเลข การใช้งานทั่วไปคือการเพิ่มองค์ประกอบ (".". dir) เพื่อทำการสำรองข้อมูลทั้งหมดในไดเรกทอรีที่มีชื่อแน่นอน dir; Emacs แก้ไขชื่อไฟล์สำรองเพื่อหลีกเลี่ยงการปะทะกันระหว่างไฟล์ที่มีชื่อเดียวกันที่มีต้นกำเนิดในไดเรกทอรีต่าง ๆ อีกวิธีหนึ่งคือการเพิ่ม (".". ". ~") จะทำการสำรองข้อมูลในไดเรกทอรีย่อยที่มองไม่เห็น ~ ของไดเรกทอรีของไฟล์ต้นฉบับ Emacs สร้างไดเรกทอรีหากจำเป็นเพื่อทำการสำรองข้อมูล
หากคุณกำหนดตัวแปร make-backup-file-name-function ให้เป็นฟังก์ชั่น Lisp ที่เหมาะสมซึ่งจะแทนที่วิธีปกติที่ Emacs สร้างชื่อไฟล์สำรอง
นอกจากนี้คุณยังสามารถตั้งค่า EMACS เพื่อเก็บสำรองข้อมูลที่มีหมายเลขและเก็บสำรองข้อมูลตามจำนวนที่กำหนดไว้เท่านั้นแม้ว่าอาจจะแย่กว่าการสำรองข้อมูลเพียงครั้งเดียวสำหรับแต่ละไฟล์ ดูhttps://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Deletion.html