विशिष्ट फ़ाइलों के लिए स्वचालित बैकअप बंद करें


10

एक लंबे समय के लिए मैं Emacs सभी फ़ाइलों के लिए एक ही फ़ोल्डर में बैकअप रखा है:

(setq backup-directory-alist '(("." . "~/.emacs.d/backups")))

मैं शायद ही कभी backupsनिर्देशिका का दौरा करता हूं, लेकिन हाल ही में मैंने देखा कि इसमें बहुत सारी *-autoloads.elफाइलें हैं जिनके लिए मुझे बैकअप की आवश्यकता नहीं है। मैं Emacs को इस प्रकार की फ़ाइलों का बैकअप न बनाने के लिए कैसे कह सकता हूँ?

जवाबों:


14

आप के माध्यम से स्थान को अनुकूलित कर सकते हैं backup-directory-alist। सूची में प्रत्येक प्रविष्टि कहती है कि पैटर्न से मेल खाती फ़ाइलों का बैकअप कहां रखें; यदि स्थान है nil, तो बैकअप मूल के समान निर्देशिका में होगा। आदेश मायने रखता है: पहले मैच का उपयोग किया जाता है।

(setq backup-directory-alist '(("-autoloads\\.el\\'")
                               ("." . "~/.emacs.d/backups")))

यदि आप फ़ाइल नाम या स्थान के आधार पर बैकअप को पूरी तरह से दबाना चाहते हैं, तो उसके लिए एक अंतर्निहित तंत्र प्रतीत नहीं होता है, लेकिन यह जोड़ना आसान है। चर backup-enable-predicateमें एक फ़ंक्शन का नाम होता है जो यह निर्धारित करता है कि क्या फ़ाइल में बैकअप होना चाहिए। डिफ़ॉल्ट सेटिंग normal-backup-enable-predicateकेवल उन निर्देशिकाओं में बैकअप को रोकती है जो Emacs अस्थायी फ़ाइलों के लिए उपयोग करते हैं। आप अपने स्वयं के फ़ंक्शन को जोड़ सकते हैं जो फ़ाइल नाम की भी जांच करता है।

(defvar backup-inhibit-file-name-regexp "-autoloads\\.el\\'"
  "Files whose full path matches this regular expression will not be backed up.")
(defun regexp-backup-enable-predicate (filename)
  "Disable backups for files whose name matches `backup-inhibit-file-name-regexp'.
Also call `normal-backup-enable-predicate'."
  (save-match-data
    (and (not (string-match backup-inhibit-file-name-regexp filename))
     (normal-backup-enable-predicate filename))))
(setq backup-enable-predicate 'regexp-backup-enable-predicate)

भले ही यह फ़ंक्शन वापस आए t, अन्य तंत्र बैकअप को अक्षम कर सकते हैं।

यदि आप किसी विशिष्ट प्रमुख मोड में बैकअप को अक्षम करना चाहते हैं, तो प्रमुख मोड के सेटअप हुक में सेट make-backup-filesकरें nil(संभवतः फ़ाइल नाम और अन्य विशेषताओं के आधार पर)। चर बफर स्थानीय बनाने के लिए मत भूलना।

कुछ फ़ाइलों के लिए बैकअप को अक्षम करने का दूसरा तरीका सेट करना है backup-inhibited। यह चर एक प्रमुख मोड परिवर्तन से बचता है। यह है कि कैसे वीसी संस्करण नियंत्रण (एक प्रविष्टि के माध्यम से file-find-hook) के तहत फाइलों पर बैकअप को निष्क्रिय करता है । चर बफर स्थानीय बनाने के लिए मत भूलना।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.