2010-01-07 8 views
14

मैंने लंबे समय तक वीआई का उपयोग करने के बाद emacs का उपयोग करना शुरू कर दिया। :)मैं बैक फ़ाइलों को कैसे छुपा सकता हूं जो emacs बनाता है?

एक चीज जो मुझे परेशान करती है वह यह है कि जब भी मैं एक फ़ाइल को संशोधित करता हूं, इसे सहेजता हूं और emacs से बाहर निकलता हूं, तो मुझे filename~ नामक एक ही निर्देशिका में बनाई गई बैकअप फ़ाइल दिखाई देती है (यदि फ़ाइल जिसे मैंने संपादित किया था filename)।

क्या कोई तरीका है जिससे मैं इससे छुटकारा पा सकता हूं? या इन फ़ाइलों को छुपाएं? यह बहुत निर्देशिका के एलएस करते समय बैकअप फ़ाइलों को देखने के लिए परेशान है।

+2

उन क्या हम आम तौर पर किया जाएगा कॉल 'बैकअप फाइलें'। –

उत्तर

19

आप या तो निम्न कोड के साथ अपने स्वयं के फ़ोल्डर में उन्हें स्थानांतरित कर सकते हैं:

;; Don't clutter up directories with files~ 
(setq backup-directory-alist `(("." . ,(expand-file-name 
            (concat dotfiles-dir "backups"))))) 

;; Don't clutter with #files either 
(setq auto-save-file-name-transforms 
     `((".*" ,(expand-file-name (concat dotfiles-dir "backups"))))) 

या आप उन्हें पूरी तरह से हटा सकते हैं, तो जैसे:

(setq make-backup-files nil) 
(setq auto-save-default nil) 

व्यक्तिगत तौर पर मैं उन्हें हटाने से सावधान रहना होगा क्योंकि वे उपयोगी हो सकते हैं। आगे की चर्चा यहाँ है:

मैं Emacs स्टार्टर किट यह मुद्दों है कि लोगों को जब Emacs के लिए आ रहा का भार को ठीक कर लेगा बाहर की जाँच की सिफारिश करेंगे, और बहुत भारी इस्तेमाल किया जाता है।

http://github.com/technomancy/emacs-starter-kit/blob/master/starter-kit-misc.el


अद्यतन:

वहाँ कैसे कार्यों का उपयोग करने के लिए काफी भ्रम की स्थिति हो रहा है। मैं बाद में थोड़ा सा खेल रहा हूं लेकिन यहां कुछ और जानकारी है। ध्यान दें कि auto-save-file-name-transforms:

आप को बचाने फ़ाइल नाम [emacs-manual]

ऑटो को बदलने के लिए नियमित अभिव्यक्ति और प्रतिस्थापन की एक श्रृंखला निर्दिष्ट कर सकते हैं तो यह बस के रूप में एक फ़ोल्डर नाम में जोड़ने के रूप में सरल नहीं है। यही कारण है कि ने कहा कि यह निम्नलिखित खोज एक त्वरित गूगल से लगता है सिर्फ तुम सब क्या चाहते हो सकता है:

;;; backup/autosave 
(defvar backup-dir (expand-file-name "~/.emacs.d/backup/")) 
(defvar autosave-dir (expand-file-name "~/.emacs.d/autosave/")) 
(setq backup-directory-alist (list (cons ".*" backup-dir))) 
(setq auto-save-list-file-prefix autosave-dir) 
(setq auto-save-file-name-transforms `((".*" ,autosave-dir t))) 

http://www.google.com/codesearch?hl=en&lr=&q=auto-save-file-name-transforms&sbtn=Search

+0

धन्यवाद! क्या नाम # filename # के साथ बनाई गई फ़ाइलों के लिए कुछ समान है? – n1kh1lp

+0

मेरे उत्तर में बदल गया। –

+0

बहुत बहुत धन्यवाद जेम्स! :) – n1kh1lp

0

अपने .emacs में:

(setq make-backup-files nil) 

संपादित करें: यदि आप .emacs फ़ाइल से अपरिचित, यह .emacs नाम की एक फ़ाइल है जो आपके उपयोगकर्ता $ HOME निर्देशिका में रहता है। यदि आपके पास पहले से कोई नहीं है, तो आप इसे अभी बना सकते हैं और emacs इसे स्टार्टअप पर लोड कर देंगे।

+0

धन्यवाद! क्या नाम # filename # के साथ बनाई गई फ़ाइलों के लिए कुछ समान है? – n1kh1lp

+0

मुझे इसके बारे में निश्चित नहीं है। ईमानदार होने के लिए, मैं उन्हें पूरी तरह से हटाने में संकोच करूंगा, क्योंकि आमतौर पर इसका मतलब है कि बफर को बचाए बिना emacs बंद कर दिया गया था। मैं आमतौर पर अक्सर सहेजता हूं, इसलिए यदि कोई # फ़ाइल # मौजूद है, तो इसका मतलब है कि emacs/मशीन क्रैश हो गई है; मैं आमतौर पर फ़ाइल को पुनर्प्राप्त करने के लिए इसका उपयोग कर समाप्त करता हूं। –

0

Here is a link उसी प्रश्न पर SuperUser और my response पर उत्तर दिया गया।और एक स्टैक ओवरव्लो प्रश्न Emacs: Don’t create #these# files when not saving modified buffer

और पूर्णता के लिए, दूसरों द्वारा बताए गए अनुसार; -बचाने ऑटो बैकअप फ़ाइलों अपने .emacs

(setq make-backup-files nil) 
5

~/.emacs में निम्नलिखित लाइनों में रखते बनाया जा रहा के सभी डाल देंगे रोकने के लिए और /tmp में बैकअप फ़ाइलें:

(setq backup-directory-alist 
     `((".*" . ,temporary-file-directory))) 
(setq auto-save-file-name-transforms 
     `((".*" ,temporary-file-directory t))) 
+0

यह मेरे लिए अच्छा समाधान की तरह दिखता है। यह मैंने इस्तेमाल किया है। धन्यवाद। –

संबंधित मुद्दे