Doom Emacs एक वितरण है जिसका उद्देश्य Emacs के साथ शुरुआत करने का एक आसान और सुलभ तरीका बनाना है। सैकड़ों पेज के दस्तावेज़ीकरण के कारण जो इसके विभिन्न कार्यों का विवरण देते हैं, Emacs अपने आप में कठिन लग सकता है।
यह पहले से परिचित उपयोगकर्ता और किताबी कीड़ा के लिए उपयोगी है। हालांकि, यह हाथ बंद दृष्टिकोण किसी ऐसे व्यक्ति की मदद नहीं करता जो सिर्फ इसे आज़माने में दिलचस्पी रखता है।
Doom Emacs का उद्देश्य अनावश्यक चीजों को काटकर और इसके मुख्य शक्तियों के साथ Emacs अनुभव को संक्षिप्त करना है। यह उपयोगकर्ता को मैनुअल को लगातार जांचे बिना बुनियादी चीजें करने के लिए विस्तारशीलता का उपयोग करने की अनुमति देता है। इसका परिणाम Emacs का एक ऐसा संस्करण है जिसे उपयोगकर्ता की जरूरतों के अनुसार आसानी से बदला और संशोधित किया जा सकता है।
Doom Emacs इंस्टॉल करना अपेक्षाकृत सरल है। हमें पहले से केवल तीन चीजों की आवश्यकता है:
- वेनिला Emacs 27.1 इंस्टॉलेशन
- ripgrep
- Git
Emacs और ripgrep इंस्टॉल करना
Emacs और ripgrep लगभग हर प्रमुख Linux वितरण के रिपॉजिटरी में उपलब्ध हैं। उदाहरण के लिए, Debian और Ubuntu 21.10 में Emacs और ripgrep इंस्टॉल करने के लिए आप apt का उपयोग कर सकते हैं:
sudo apt install emacs-gtk ripgrep
Arch Linux के लिए, pacman का उपयोग करें:
sudo pacman -Syu emacs ripgrep
Fedora में, dnf का उपयोग करें:
sudo dnf install emacs ripgrep
Void Linux के लिए, xbps का उपयोग करें:
sudo xbps-install emacs-gtk2 ripgrep
मेरे मामले में, मैं अपने Void Linux सिस्टम में Emacs और ripgrep इंस्टॉल कर रहा हूं।
यह ध्यान रखना महत्वपूर्ण है कि Emacs विभिन्न फ्लेवर्स में आता है। अधिकांश भाग के लिए, पैकेज मैनेजर इंस्टॉल करने के लिए Emacs का उपयुक्त संस्करण चुनता है, लेकिन दुर्लभ मामलों में यह प्रक्रिया विफल हो जाती है।
इसलिए, हमें उस संस्करण के बारे में पता होना चाहिए जिसे हम इंस्टॉल कर रहे हैं। हम Emacs का एक ऐसा संस्करण इंस्टॉल करना चाहते हैं जो ग्राफिकल वातावरण में चल सके, जिससे हमारे पास ये विकल्प बचते हैं:
- X11
- GTK-2
- GTK-3
इसके बाद, हम Git की इंस्टॉलेशन के साथ आगे बढ़ सकते हैं।
Git इंस्टॉल करना
Doom Emacs इंस्टॉल करने के लिए, हमें इंटरनेट से एक रिमोट कोड रिपॉजिटरी प्राप्त करने की आवश्यकता है। ऐसा करने के लिए, Git इंस्टॉल करें। यह हमें कोड को तुरंत कॉपी करने और, अधिक महत्वपूर्ण रूप से, प्रमुख संस्करणों के बीच अपडेट करने की अनुमति देता है।
Emacs के समान, Git हर Linux वितरण में आम है। Debian और Ubuntu में इसे इंस्टॉल करने के लिए apt का उपयोग करें:
sudo apt install git
Arch Linux के लिए, pacman का उपयोग करें:
sudo pacman -Syu git
Fedora के लिए, dnf का उपयोग करें:
sudo dnf install git
Void Linux में, xbps का उपयोग करें:
sudo xbps-install git
मेरे मामले में, मैं Void Linux में Git इंस्टॉल कर रहा हूं।
Doom Emacs इंस्टॉल करना
Doom Emacs इंस्टॉल करने के लिए, हमें केवल कुछ कमांड चलाने की आवश्यकता है:
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
यह एक Git कमांड है जो हमारे मशीन के लिए Doom Emacs रिपॉजिटरी को प्राप्त करती है।
cloneफंक्शन का अर्थ है कि जब हम कमांड चलाते हैं तो हम नवीनतम रिपॉजिटरी की कॉपी बना रहे हैं।depthविकल्प तब रिपॉजिटरी के इतिहास को रिपॉजिटरी के दो सबसे हाल के संस्करणों तक छोटा कर देता है।
इस कमांड में, हम रिपॉजिटरी को डिफ़ॉल्ट Emacs कॉन्फिगरेशन डायरेक्टरी में भी सहेज रहे हैं। इसके कारण, हमें यह सुनिश्चित करने की आवश्यकता है कि डायरेक्टरी मौजूद न हो, यह कमांड टाइप करके:
rm -rf /home/$USER/.emacs.d/
इसके बाद, हमें इंस्टॉलेशन शुरू करने की आवश्यकता है। हम निम्न कमांड टाइप करके ऐसा करते हैं:
/home/$USER/.emacs.d/bin/doom install
यह कमांड Emacs इंस्टॉलेशन के ऊपर Doom Emacs इंस्टॉल करती है।
इंस्टॉलेशन के बाद कॉन्फिगरेशन
इसके बाद, कुछ और चीजें हैं जो हमें यह सुनिश्चित करने के लिए करने की आवश्यकता है कि हमारा इंस्टॉलेशन किसी समस्या में न चले।
सबसे पहले, PATH वेरिएबल को "/home/$USER/.emacs.d/doom/bin/" डायरेक्टरी का पता लगाने के लिए सेट करें। ऐसा "/home/$USER/.profile" फाइल में निम्न लाइन जोड़कर करें:
export PATH=$PATH:$HOME/.emacs.d/doom/bin
यह PATH वेरिएबल को Doom के लिए bin डायरेक्टरी शामिल करने के लिए अपडेट करेगा। इसके बाद, हमें केवल वातावरण वेरिएबल को रीलोड करने के लिए फिर से लॉग इन करना होगा।
यह जांचने के लिए कि PATH वेरिएबल "/home/$USER/.emacs.d/doom/bin" डायरेक्टरी का पता लगाता है या नहीं, हमें कमांड चलाने की आवश्यकता है:
doom doctor
यह सुनिश्चित करता है कि इंस्टॉलेशन ठीक से किया गया था। यदि प्रक्रिया के दौरान कोई समस्या है, तो doom doctor फंक्शन हमें बताएगा।
Doom यूटिलिटी: Doom Emacs में आपका साथी
doom doctor doom यूटिलिटी में उपलब्ध फंक्शन्स में से सिर्फ एक है। यह मुख्य प्रोग्राम है जो हमें Doom Emacs को संशोधित, अपडेट और मरम्मत करने की अनुमति देता है।
इसलिए, सबसे आम फंक्शन्स जिनके बारे में पता होना चाहिए वे हैं:
doom doctorहमारी प्रारंभिक इंस्टॉलेशन के साथ किसी भी असंगति की जांच करेगा। यह तब विशेष रूप से उपयोगी होता है जब हम Doom Emacs का उपयोग करते समय समस्याओं में पड़ते हैं। यह संभावित त्रुटियों के लिए सभी Doom-संबंधित डायरेक्टरी और कॉन्फिगरेशन की जांच करेगा।doom upgradeहमें अपनी इंस्टॉलेशन को आसानी से अपग्रेड करने की अनुमति देता है। यह रिपॉजिटरी में किसी भी अपडेट की जांच करेगा और हमारी कॉपी को नवीनतम के साथ सिंक्रनाइज़ करेगा और संस्करणों के बीच माइग्रेशन को संभालेगा। ऐसा करने के लिए, doom upgrade हमारी वर्तमान Doom कॉन्फिगरेशन को साफ करता है और अपग्रेड को स्टेज करता है।doom purgeहमारी इंस्टॉलेशन में इंस्टॉल किए गए पुराने पैकेज और मॉड्यूल से निपटता है। यदि हमने कई पैकेज हटा दिए हैं, तो यह सभी अनुपयोगी डिपेंडेंसीज को हटा देगा। इसमें-gफ्लैग के साथ चलाकर मौजूदा रिपॉजिटरी को कंप्रेस करने की क्षमता भी है।doom syncहमें अपनी कस्टम कॉन्फिगरेशन को ठीक करने की अनुमति देता है। जब हमने Doom Emacs इंस्टॉल किया, तो इसने व्यक्तिगत कॉन्फिगरेशन के लिए "/home/$USER/.doom.d/" के तहत एक अलग फाइल बनाई। sync फंक्शन चलाने से .emacs.d में किए गए कॉन्फिगरेशन .doom.d डायरेक्टरी में सक्षम हो जाएंगे।
Doom Emacs कॉन्फिगर करना
.doom.d डायरेक्टरी वह जगह है जहां सभी Doom कॉन्फिगरेशन रहते हैं। इसमें तीन फाइलें होती हैं:
- packages.el फाइल बताती है कि कौन से पैकेज इंस्टॉल करने हैं और कहां से।
- config.el फाइल वह जगह है जहां हमारी कस्टम कॉन्फिगरेशन शामिल हैं। इसमें Doom और इंस्टॉल किए गए अतिरिक्त पैकेज दोनों के लिए कॉन्फिगरेशन शामिल हैं।
- init.el फाइल Doom Emacs का मांस और आलू है। यह वह जगह है जहां वितरण की सभी विशेषताओं को सक्षम या अक्षम किया जा सकता है।
Doom मॉड्यूल
Doom Emacs आपको 150 से अधिक मॉड्यूल का विकल्प देता है। हम उन मॉड्यूल को केवल उन्हीं को चुनकर सक्षम कर सकते हैं जो हम चाहते हैं। यह हमें Doom को अपना स्वयं का कंप्यूटिंग वातावरण बनाने के लिए अनुकूलित करने की अनुमति देता है।
Doom Emacs से मॉड्यूल जोड़ना और हटाना केवल ".doom.d/init.el" फाइल में doom! फंक्शन को संशोधित करने का मामला है। सामान्य सिंटैक्स कुछ इस तरह दिखता है:
(doom! :checkers (syntax) :editor (evil) :lang (org +journal))
एक मॉड्यूल को सक्षम करने के लिए, हमें श्रेणी को लेबल करने की आवश्यकता है। इस उदाहरण में, सिंटैक्स मॉड्यूल जोड़ने के लिए, हमें पहले चेकर्स श्रेणी जोड़ने की आवश्यकता है।
इसके अलावा, इन मॉड्यूल में फ्लैग भी होते हैं जिन्हें किसी विशेष मॉड्यूल के लिए सक्रिय किया जा सकता है। यह Gentoo के USE फ्लैग के समान है जो आपको केवल उन विशेषताओं को सक्षम करके एक प्रोग्राम को फाइन-ट्यून करने की अनुमति देता है जो आप चाहते हैं।
किसी मॉड्यूल के लिए फ्लैग जोड़ने के लिए, फ्लैग नाम के बाद "+" चिह्न जोड़ें। इस उदाहरण में, हमने org में जर्नल फ्लैग जोड़ा है ताकि जर्नल सपोर्ट सक्षम हो सके।
एक बार हो जाने पर, Doom Emacs को सेटिंग्स के साथ पुनः आरंभ करने के लिए doom sync चलाएं।
अतिरिक्त पैकेज कैसे इंस्टॉल करें
डिफ़ॉल्ट रूप से, Doom Emacs इंस्टॉलेशन पर पहले से ही कई पैकेज के साथ आता है। इसके बावजूद, हम रिपॉजिटरी से अतिरिक्त सॉफ्टवेयर को उतनी ही आसानी से इंस्टॉल कर सकते हैं। हम ".doom.d/packages.el" फाइल में package! फंक्शन का उपयोग करके ऐसा कर सकते हैं।
Doom में पैकेज इंस्टॉल करने के कई तरीके हैं। सबसे आम तरीका ELPA और MELPA से पैकेज सोर्स करना है। ऐसा करने के लिए, हमें केवल packages.el में इस लिस्प कोड को जोड़ने की आवश्यकता है:
(package! name-of-package)
यह package! फंक्शन को हमारे द्वारा इंगित पैकेज के लिए हर सामान्य रिपॉजिटरी की जांच करने के लिए कहेगा।
हालांकि, यदि आपका पैकेट Emacs के लिए किसी भी रिपॉजिटरी में मौजूद नहीं है, तो आप इसे सीधे इसके git रिपॉजिटरी से भी इंस्टॉल कर सकते हैं:
(package! name-of-git-package :recipe (:host github :repo "username/package"))
यह package! फंक्शन को github से "username/package" रिपॉजिटरी के तहत उस विशिष्ट पैकेज को खींचने के लिए कहेगा।
हम यह भी विशेष रूप से बता सकते हैं कि हम रिमोट रिपॉजिटरी में पैकेज को कहां से खींचना चाहते हैं। उदाहरण के लिए, हम रिपॉजिटरी में किसी विशिष्ट स्थान से पैकेज खींच सकते हैं:
(package! another-git-package :recipe (:host github :repo "username/package" :files ("package.el" "path/of/*.el")))
यह तब उपयोगी होता है जब हम बहुत सारे पैकेज वाले रिपॉजिटरी से इंस्टॉल कर रहे होते हैं जो सबडायरेक्टरी में क्रमबद्ध होते हैं। इसका उपयोग करके, हम निर्दिष्ट कर सकते हैं कि हम पैकेज के रूप में क्या इंस्टॉल करना चाहते हैं।
एक बार हो जाने पर, हमें Doom Emacs को पुनः आरंभ करने के लिए doom sync चलाने की आवश्यकता है।
बधाई हो! अब आपके पास Doom Emacs की एक बुनियादी इंस्टॉलेशन है साथ ही यह कैसे काम करता है और इसे कैसे कॉन्फिगर और विस्तारित करें, इसकी बुनियादी समझ है। यदि आप Linux में कुछ उत्पादकता एप्लिकेशन ढूंढ रहे हैं, तो हमारे पास आपके लिए सही लेख है।
अक्सर पूछे जाने वाले प्रश्न
1. मैंने अभी Doom Emacs इंस्टॉल किया है, और जब मैं इसे खोलता हूं तो यह केवल एक खाली स्क्रीन दिखाता है।
इसका सबसे संभावित कारण यह है कि आपके .doom.d डायरेक्टरी में कोई समस्या है, और Doom Emacs कोई भी सेटिंग लोड नहीं कर पा रहा है। इसे हल करने का एक तरीका यह जांचना है कि .doom.d डायरेक्टरी मौजूद है और तीन फाइलें - init.el, packages.el और config.el - मौजूद हैं।
यह भी हो सकता है क्योंकि जनरेट की गई init.el फाइल खराब थी या इसमें doom का फंक्शन नहीं था। इसे ठीक करने के लिए, आपको उन मॉड्यूल के साथ doom का फंक्शन ब्लॉक बनाना होगा जिन्हें आप Doom Emacs के साथ चलाना चाहते हैं।
2. मैं अपने पैकेज प्रबंधित करने के लिए package.el का उपयोग कर रहा हूं, क्या मैं अभी भी इसे Doom Emacs में उपयोग कर सकता हूं?
नहीं। Doom Emacs अपने पैकेज बनाए रखने के लिए एक अलग मैनेजर का उपयोग कर रहा है। आपको Doom Emacs द्वारा प्रदान किए गए package के फंक्शन का उपयोग करके अतिरिक्त सॉफ्टवेयर इंस्टॉल करने की आवश्यकता होगी।
3. मैंने Doom Emacs में यह पैकेज इंस्टॉल किया है और अब मुझे यह नहीं चाहिए। मैं इसे कैसे अनइंस्टॉल कर सकता हूं?
Doom Emacs में पैकेज हटाना अपेक्षाकृत तुच्छ है। आपको केवल अपने .doom.d/packages.el में लिस्प कोड का यह टुकड़ा चलाने की आवश्यकता है:
(package! some-package :disable t)
इसके बाद, आपको Doom Emacs को रीलोड करने के लिए doom sync चलाने की आवश्यकता है। जब आप वापस लॉग इन करेंगे, तो वह पैकेज अनइंस्टॉल हो जाएगा।