जानकारी का स्रोत: १
Emacs समर्थक उपयोगकर्ताओं के लिए:
- यदि आप सभी उपनिर्देशिकाओं की आवश्यकता है, तो dir में फ़ाइलों को सूचीबद्ध करने के लिए dired कॉल करें, या find-dired कॉल करें।
- अपनी इच्छित फ़ाइलों को चिह्नित करें। आप can% m by लिखकर regex द्वारा चिह्नित कर सकते हैं।
- Dired-do-query-प्रतिस्थापित-regexp कॉल करने के लिए Q टाइप करें।
- अपना खोज रेगेक्स टाइप करें और स्ट्रिंग बदलें। 〔El आम एलीज रेगेक्स पैटर्न el
- प्रत्येक घटना के लिए, y y को टाइप करें, n को स्किप करने के लिए। पूरे ऑपरेशन को निरस्त करने के लिए g Ctrl + g g टाइप करें।
- प्रकार ! वर्तमान फ़ाइल में सभी घटनाओं को बदलने के लिए, एन वर्तमान फ़ाइल के बाकी के लिए सभी संभव प्रतिस्थापन को छोड़ दें। (एन केवल 23 emacs है)
- आगे पूछे बिना सभी फाइलों पर प्रतिस्थापन करने के लिए, Y टाइप करें (केवल 23 Emacs)
- सभी खोली गई फ़ाइलों को सूचीबद्ध करने के लिए ibuffer को कॉल करें। सभी सहेजे गए फ़ाइलों को चिह्नित करने के लिए Type * u】 टाइप करें, सभी चिह्नित फ़ाइलों को बचाने के लिए S टाइप करें, उन सभी को बंद करने के लिए D टाइप करें।
Emacs शुरुआती के लिए चरण-दर-चरण गाइड
लक्ष्य फ़ाइलों का चयन करें
कमांड लाइन इंटरफेस प्रॉम्प्ट में "एमएसीएस" टाइप करके ईमैक्स शुरू करें। (या, यदि आप ग्राफिक्स यूजर इंटरफेस वातावरण में हैं तो Emacs आइकन पर डबल क्लिक करें)
एक निर्देशिका में फ़ाइलों का चयन
पहले आपको उन फ़ाइलों का चयन करना होगा जिन्हें आप प्रतिस्थापित करना चाहते हैं। चित्रमय मेनू का उपयोग करें ▸ फ़ाइल graph ओपन डायरेक्टरी 〖। Emacs आपसे निर्देशिका पथ के लिए पूछेगा। निर्देशिका पथ टाइप करें, फिर Enter दबाएँ।
अब, आपको फ़ाइलों की सूची दिखाई जाएगी, और अब आपको उन फ़ाइलों को चिह्नित करने की आवश्यकता है जिन्हें आप चाहते हैं कि regex ढूंढें / कार्य करने के लिए प्रतिस्थापित करें। आप कर्सर को अपनी इच्छित फ़ाइल पर ले जाकर एक फ़ाइल चिह्नित करते हैं, फिर m दबाते हैं। यू दबाकर इसे अनमार्क कर दें। (उप-सूचियों को सूचीबद्ध करने के लिए, अपने कर्सर को निर्देशिका में ले जाएं और i दबाएं। उप-निर्देशिका की सामग्री को नीचे सूचीबद्ध किया जाएगा।) सभी फ़ाइलों को एक regex द्वारा चिह्नित करने के लिए, 【% m type टाइप करें, फिर अपना regex पैटर्न लिखें। उदाहरण के लिए, यदि आप सभी HTML फ़ाइलों को चिह्नित करना चाहते हैं, तो m% m html तब .html $ टाइप करें। (आप चित्रमय मेनू "मार्क" में मार्क कमांड्स की एक सूची पा सकते हैं (यह मेनू तब दिखाई देता है जब आप बिंदीदार तार में होते हैं)।)
एक निर्देशिका और उसके सभी उप-निर्देशिकाओं में फ़ाइलों का चयन करना
यदि आप सैकड़ों उपनिर्देशिकाओं सहित, एक निर्देशिका के अंदर फ़ाइलों को खोजना / बदलना चाहते हैं, तो इन सभी फ़ाइलों का चयन करने का एक तरीका यहाँ है।
कॉल डेड-डेयर। (आप + Alt + x 【दबाकर एक कमांड को कॉल करते हैं) फिर, एक डायरेक्टरी नाम टाइप करें, ⁖ / Users / mary / myiles
नोट: यदि आप एक यूनिक्स गैर-ग्राफिकल पाठ टर्मिनल पर emacs का उपयोग कर रहे हैं, और यदि + Alt + x using काम नहीं करता है, तो समतुल्य कुंजी स्ट्रोक x Esc x using है।
Emacs आपको शीघ्रता से "रन फाइंड (आर्ग्स के साथ):" पूछेगा। यदि आपको सभी HTML फ़ाइलों पर प्रतिस्थापन करने की आवश्यकता है, तो "html" टाइप करें। अगर आपको इस बात की परवाह नहीं है कि किस तरह की फ़ाइल है, लेकिन उस dir के तहत बस सभी फाइलें हैं, तो “-type f” दें।
अब, ऊपर वर्णित के रूप में फ़ाइलों को चिह्नित करें।
इंटरएक्टिव खोजें / बदलें
अब, आप अंतःक्रियात्मक खोज को प्रतिस्थापित करने के लिए तैयार हैं। सरलता के लिए, मान लें कि आप "सुपर" शब्द को "सुपर" से बदलना चाहते हैं। अब, dired-do-query-replace-regexp पर कॉल करें। यह आपको regex स्ट्रिंग और प्रतिस्थापन स्ट्रिंग के लिए संकेत देगा। "त्वरित" टाइप करें, दर्ज करें, फिर "सुपर"।
अब, एमएसीएस आपके पैटर्न का उपयोग करेगा और फाइलों की जांच करेगा, और जब भी कोई मैच होगा, तब आपको रोक और दिखाएगा। जब ऐसा होता है, तो emacs आपको संकेत देगा, और आपके पास परिवर्तन करने या परिवर्तन को छोड़ने का विकल्प होगा। परिवर्तन करने के लिए, y टाइप करें। स्किप करने के लिए, n टाइप करें। यदि आप चाहते हैं कि emacs आगे बढ़ें और वर्तमान फ़ाइल में ऐसे सभी परिवर्तन करें, तो टाइप करें!
यदि आप अपने द्वारा किए गए परिवर्तनों को सहेजे बिना पूरे ऑपरेशन को रद्द करना चाहते हैं, तो】 Ctrl + g the टाइप करें, फिर मेनू the फ़ाइल it बाहर निकलें Emacs 〖का उपयोग करके emacs से बाहर निकलें।
बदली हुई फाइलों को सहेजना
अब, जब आप उपरोक्त प्रक्रिया से गुजरे, तो आपको एक और कदम उठाने की आवश्यकता है, और वह है परिवर्तित फ़ाइलों को सहेजना।
यदि आप 22 या उसके बाद के emacs संस्करण का उपयोग कर रहे हैं, तो बफर सूची मोड में जाने के लिए ibuffer को कॉल करें, फिर सभी सहेजे गए फ़ाइलों को चिह्नित करने के लिए mark * u u टाइप करें, फिर उन सभी को बचाने के लिए S टाइप करें। (यह शिफ्ट-एस है)
यदि आप एक इमैक संस्करण 21 का उपयोग कर रहे हैं, तो आप यह कर सकते हैं: सूची-बफ़र्स को कॉल करें, फिर कर्सर को उस फ़ाइल पर ले जाएँ जिसे आप सहेजना चाहते हैं और टाइप करें। यह बाद में कार्रवाई को बचाने के लिए फ़ाइल को चिह्नित करेगा। यू को अनमार्क करना टाइप करें। एक बार जब आप कर लेते हैं, तो टाइप करें x सभी फाइलों को सहेजने के लिए निष्पादित करने के लिए। (emacs में, खोली गई फ़ाइल को "बफर" कहा जाता है। वहां अन्य चीजों की उपेक्षा करें।)
उपरोक्त विकल्पों के लिए, आप सेव-कुछ-बफर-Ctrl + xs】 भी कह सकते हैं। फिर इमेक प्रत्येक सहेजे गए फ़ाइल को प्रदर्शित करेगा और पूछेगा कि क्या आप इसे सहेजना चाहते हैं।
नोट: emacs का रेग्क्स पर्ल या पायथन के समान नहीं है, लेकिन समान है। एक सारांश और सामान्य पैटर्न के लिए, देखें: Emacs Regex।