2010-04-21 9 views
35

द्वारा किए गए न खत्म होने वाली सभी फाइलों को दूर करने के लिए कैसे जब भी मैं Emacs पर फ़ाइलों को संपादित, ऐसा लगता है एक अस्थायी फ़ाइल के साथ ~ एक ही नाम इसके परिशिष्ट के साथ बनाया जाता है। क्या किसी को भी काम करने वाली निर्देशिका में इन सभी फ़ाइलों को हटाने का एक त्वरित/आसान तरीका पता है?साथ ~ Emacs

+0

यदि आप गिट का उपयोग कर रहे हैं तो आप उन्हें अपनी '.gitignore' फ़ाइल में क्यों नहीं जोड़ते? मुझे लगता है कि आप इसे अन्य वीसीएस में भी कर सकते हैं। –

उत्तर

79

साथ उन्हें हटा दें आप को समझने के लिए क्या हो रहा है चाहिए। ~ बैकअप फ़ाइलों में समाप्त होने वाली फ़ाइलें, स्वचालित रूप से Emacs द्वारा बनाई गई हैं। वे कभी-कभी उपयोगी हो सकते हैं। आप फ़ाइलों से नाराज कर रहे हैं और, उन्हें हर बार नष्ट करना चाहते हैं तो आप या तो

(1)। बैकअप फ़ाइलों के निर्माण को रोकने के:

(setq make-backup-files nil) 

या

(2)। क्या यह किसी अन्य निर्देशिका में बैकअप फ़ाइलों को सहेज लेता है, जहां तक ​​आप उन्हें परेशान नहीं करेंगे जबतक कि आप उनकी तलाश नहीं करते। मेरे पास मेरे .emacs में निम्नलिखित है:

(setq backup-directory-alist '(("." . "~/.emacs.d/backup")) 
    backup-by-copying t ; Don't delink hardlinks 
    version-control t  ; Use version numbers on backups 
    delete-old-versions t ; Automatically delete excess backups 
    kept-new-versions 20 ; how many of the newest versions to keep 
    kept-old-versions 5 ; and how many of the old 
) 

(केवल पहली पंक्ति महत्वपूर्ण है।) backup-directory-alist के बारे में प्रलेखन देखने के लिए, सी-एच वी बैकअप-निर्देशिका-एलीस्ट टाइप करें।

+0

उपर्युक्त आदेश कैसे दर्ज किया जाना चाहिए? न तो खोल और न ही मेटा-एक्स मेरे लिए काम करता प्रतीत होता है ... –

+1

@OcastaEshu: यह आपके '.emacs' कॉन्फ़िगरेशन फ़ाइल में रखा जाना चाहिए। (यूनिक्स पर, यह आपकी होम निर्देशिका में है; मुझे यकीन नहीं है कि फ़ाइल विंडोज पर कहां है।) वैकल्पिक रूप से (और गैर-स्थायी रूप से), आप इसे किसी भी खाली बफर में डाल सकते हैं और एमएक्स eval-buffer कर सकते हैं, या फिर एमएक्स टाइप करें eval-expression और उपरोक्त टाइप/पेस्ट करें। – ShreevatsaR

+2

आप इन सभी परिवर्तनों को एमएक्स -> कस्टमाइज़-ग्रुप -> बैकअप –

5
rm -rf *~ 
+0

यह उपनिर्देशिका – dzen

+1

को संभाल नहीं करता है आप एम-टाइप करके Emacs के भीतर से उपरोक्त आदेश का आह्वान कर सकते हैं! प्रथम। – offby1

26
find . -name '*~' -exec rm {} \; 

संपादित करें: हुह ... जबकि इस काम करता है, मैं इसे सोच rm *~ खोल उपयोगकर्ता के घर निर्देशिका में ~ को जोड़ कर जाएंगे तैनात। यह कम से कम इस मशीन पर बैश के संस्करण के साथ नहीं है - निश्चित रूप से वाईएमएमवी।

find . -name '*~' -delete 
+0

दूसरे ने माउंटेन शेर पर अपने मैक पर ठीक काम किया। धन्यवाद। – pjammer

+0

'ढूंढें। -नाम '* ~' -delete' ने उबंटू –

+0

पर ठीक काम किया है बैकअप फ़ाइलों को संग्रहीत करने के लिए एक अच्छा अभ्यास का उल्लेख करने के लिए मैं उप-निर्देशिका – vijayst

9

तुम बस

rm *\~ 

अधिक उपयोगी है, तो आप उन सभी फाइलों को एक आम स्थान में जमा हो जाती Emacs बैकअप निर्देशिका बदल सकते हैं कर सकते हैं:

find के कुछ संस्करणों एक -delete विकल्प होता है , इसे अपने .emacs में जोड़कर:

'(backup-directory-alist (quote (("." . "/common/backup/path")))) 

वहाँ other options you can fiddle with

+2

+1 में इसे कैसे कर सकता हूं। थके हुए तरीके के लिए –

6

हैं कार्यशील निर्देशिका से:

$ rm *~ 

हर जगह से:

$ cd; find . -name '*~' | xargs rm -f 
Emacs के भीतर से

, dired का उपयोग कर।

C-x C-f . RET ~ x y e s RET 

आप अपने ~/.emacs

(setq make-backup-files nil) 

में निम्न पंक्ति जोड़कर मैं इस पिछले एक अनुशंसा नहीं करते हैं, के रूप में Emacs के बैकअप फ़ाइलों कई बार मुझे बचाया है द्वारा बैकअप फ़ाइल सृजन स्थायी रूप से दबाने कर सकते हैं पिछले कुछ वर्षों में।

+2

+1। –

4

आप, Emacs में निर्देशिका खोल सकते हैं, झंडा ~ के साथ सभी बैकअप फ़ाइल तब जबकि अन्य सभी जवाब यहां सही ढंग से फ़ाइलें निकालने के लिए तरीके की व्याख्या x

2

eamcs dired मोड में:

घ झंडा हटाने के लिए इस फ़ाइल।

आप इस लाइन पर हटाए गए ध्वज को हटा दें।

DEL पिछली पंक्ति पर इंगित करें और उस रेखा पर हटाए गए ध्वज को हटा दें।

x हटाने के लिए फ़्लैग की गई फ़ाइलों को हटाएं।

#: ': (हटाने की

के लिए करें सभी फ़ाइलें (फ़ाइलें हैं जिनके नाम शुरू करने और `# के साथ समाप्त) फ्लैग सभी बैकअप फ़ाइलें फ़ाइलें हैं जिनके नाम` के साथ समाप्त ~) हटाए जाने

के लिए

~' ऑटो को बचाने के

&: कुछ प्रकार के नामों के साथ सभी फ़ाइलों को हटाने के लिए ध्वज, नाम जो सुझाव देते हैं कि आप आसानी से फ़ाइलों को फिर से बना सकते हैं

। : हटाने के लिए अतिरिक्त संख्यात्मक बैकअप फ़ाइलों को ध्वजांकित करें। किसी भी फ़ाइल की सबसे पुरानी और नवीनतम कुछ बैकअप फाइलें छूट दी गई हैं; बीच वाले ध्वजांकित हैं।

% डी regexp आरईटी: सभी फाइलों को हटाने के लिए ध्वज जिनके नाम नियमित अभिव्यक्ति regexp से मेल खाते हैं।

+0

यह उन फ़ाइलों को निकालने का अर्थ है जो इसे बनाता है। मुझे 'आरएम' दृष्टिकोण पसंद नहीं है, जो त्रुटि प्रवण है। – smonff