मैं विंडोज 7 पर डॉट इमेक .emacs फ़ाइल के लिए एक अलग स्थान कैसे सेट करूं?


16

मैं विंडोज 7 कंप्यूटर का उपयोग कर रहा हूं और इसमें व्यवस्थापक पहुंच नहीं है। इसलिए मैं रूट डायरेक्टरी में डॉट एमएसीएस फाइल नहीं रख सकता। क्या मेरे लिए डॉट एमएसीएस फ़ाइल के लिए एक अलग स्थान निर्दिष्ट करने का कोई तरीका है?


यदि आप Emacs स्थापना के अपने स्वयं के स्थान को नियंत्रित कर सकते हैं (उदाहरण के लिए, जहाँ भी आप इसे रखना चाहते हैं, या कम से कम स्थापना तक पहुँच लिख सकते हैं), तो आप site-start.elअपना खुद का लोड करने के लिए कुछ का उपयोग करके पूर्ण नियंत्रण ले सकते हैं init.elऔर आपको अब आवश्यकता नहीं है a .emacs। इस उदाहरण में, आपको होम डायरेक्टरी के साथ फिड करने की आवश्यकता नहीं है (जब तक कि कंप्यूटर पर कोई अन्य व्यक्ति वहां सामान नहीं डाल रहा है जो आपको प्रभावित करेगा)। दूसरे शब्दों में, यह रिक्त हो सकता है और आपको इसे छूने की आवश्यकता नहीं है।
कानूनविद

जवाबों:


4

Emacs के पास कई स्थान हैं जो यह init फाइलों के लिए दिखता है, जैसा कि मैनुअल में प्रलेखित है । यदि आप Emacs को कस्टमाइज़ करना चाहते हैं, तो आपको उन फ़ाइलों में से एक से शुरू करना होगा।

एक आम दृष्टिकोण फ़ाइल का उपयोग करने के लिए है init.elअपने में user-emacs-directory, बजाय एक होने के .emacsअपने घर निर्देशिका में।

के लिए user-emacs-directoryचूक ~/.emacs.d, इसलिए यह अभी भी आपके घर के सापेक्ष है, लेकिन इस दृष्टिकोण का लाभ यह है कि आप अपने Emacs कॉन्फ़िगरेशन से संबंधित सभी चीजों को एक स्थान पर रख सकते हैं। उस निर्देशिका को संस्करण नियंत्रण में रखा जा सकता है, बैकअप किया जा सकता है, कई मशीनों पर साझा किया जा सकता है, आदि आप mklinkफ़ाइलों को किसी अन्य स्थान पर रखने के लिए सिम्लिंक ( विंडोज पर) का उपयोग कर सकते हैं ।

उदाहरण के लिए, यह देखने के लिए काफी सामान्य है कि लोग गितुब पर अपने Emacs कॉन्फ़िगरेशन को बनाए रखें। आप इसके कई उदाहरण पा सकते हैं । जीथब को init.el फाइलों के साथ संभावित परियोजनाओं के लिए खोज कर


मैं इस समाधान को पसंद करता हूं और इसका उपयोग करना चाहता हूं लेकिन यह अभी भी मुझे नहीं बताता है कि मुझे कैसे बदलना हैuser-emacs-directory
Startec

मेरा सुझाव था, वास्तव में सहजीवन का उपयोग करना। जैसा कि अन्य उत्तरों द्वारा दिखाया गया है कि आपको मानक स्थानों में से किसी एक में कुछ डालने की आवश्यकता है Emacs init के दौरान पढ़ता है, भले ही यह सब कुछ आपके कॉन्फिगरेशन को कहीं और से लोड करता हो।
ग्लूकास

मैनुअल लिंक टूट गया है।
corvus_192

17

प्रत्येक Windows इंस्टाॅल पर, जिस पर मैं Emacs का उपयोग करता हूं, मेरे पास .emacsसूचीबद्ध स्थान पर एक फाइल में निम्न कोड है :

;; Place this file in C:\Users\Username\AppData\Roaming and point to the appropriate files
(setq user-init-file "C:/path/to/.emacs")
(setq user-emacs-directory "C:/path/to/.emacs.d/")
(setq default-directory "C:/whatever/you/want/to/start/in")
(setenv "HOME" "D:/my/home/directory")
(load user-init-file)

इस तरह मैं अपना .emacsऔर .emacs.d/कहीं भी रख सकता हूं।


धन्यवाद, लगभग बस मुझे क्या चाहिए। मैंने डिफॉल्ट-डायरेक्टरी और सेंटेनव होम को छोड़ दिया, लेकिन अन्यथा मुझे सेट करने के लिए क्या चाहिए!
ग्रांट बोमन

मैंने रेयान के जवाब की कोशिश की। लेकिन, अब मैं AppData \ Roaming फ़ोल्डर से emacs के भीतर इस फ़ाइल को खोलने में सक्षम नहीं हूं। कृपया मुझे क्षमा करें, क्योंकि मैं टिप्पणी नहीं कर सकता क्योंकि, मेरे पास अभी तक 50 अंक नहीं हैं।
श्रीकुमार R

@ श्रीकुमार आपको एक नया प्रश्न पूछना चाहिए, इस पर लिंक करने के बजाय, एक "उत्तर" पोस्ट करने के लिए
एंड्रयू स्वान

@ श्रीकुमार यदि आपके पास कोई नया प्रश्न है, तो कृपया प्रश्न पूछें बटन पर क्लिक करके पूछें । इस प्रश्न का लिंक शामिल करें यदि यह संदर्भ प्रदान करने में मदद करता है। - समीक्षा से
स्टीफन

5

आपकी .emacs फ़ाइल आपकी HOMEनिर्देशिका में जाती है । से Emacs मैनुअल:

होम का विंडोज समतुल्य उपयोगकर्ता-विशिष्ट अनुप्रयोग डेटा निर्देशिका है। वास्तविक स्थान विंडोज संस्करण पर निर्भर करता है ...

आप अपने सिस्टम पर किसी भी निर्देशिका को इंगित करने के लिए स्पष्ट रूप से पर्यावरण चर HOME सेट करके HOME के ​​इस डिफ़ॉल्ट मान को ओवरराइड कर सकते हैं। होम को कमांड शेल प्रॉम्प्ट से या 'माई कंप्यूटर' के 'प्रॉपर्टीज' डायलॉग से सेट किया जा सकता है। होम को सिस्टम रजिस्ट्री में भी सेट किया जा सकता है, एमएस-विंडोज रजिस्ट्री देखें।


1
हां, मुझे पता है कि गृह निर्देशिका को संस्करण नियंत्रण कारणों से कैसे सेट किया जाना चाहिए, मैं एक अलग निर्देशिका से पढ़ने के लिए emacs सेट करने में सक्षम होना चाहता हूं (ताकि मेरे पास emacs के लिए विशिष्ट निर्देशिका हो सकती है)
Startec

3
ध्यान दें कि यह हैक Emacs को होम डायरेक्टरी के रूप में कुछ और मानता है।
थामासा

@wasamasa - मैं इसे "हैक" नहीं कहूंगा। एमएसीएस 25 के मेरे निर्माण पर, यदि आप "होम" को एक पर्यावरण चर के साथ सेट नहीं करते हैं, तो यह एमएसीएस इंस्टाल डायरेक्टरी को डिफॉल्ट करता है, जो काफी स्पष्ट रूप से गलत है। "होम" को सेट किया जाना चाहिए कि उपयोगकर्ता अपने होम डायरेक्टरी को क्या समझता है, और पर्यावरण चर सेट करना ऐसा करने का इरादा मानक तरीका है। यूनिक्स सिस्टम पर यह आमतौर पर लॉगिन प्रक्रिया के दौरान उपयोगकर्ता के लिए किया जाता है, लेकिन विंडोज पर आपको इसे मैन्युअल रूप से करना होगा।
TED

इसका मतलब यह है कि आप अपनी HOMEनिर्देशिका को सामान्य रूप से कुछ अलग करने पर विचार करेंगे । इसलिए मैं कॉल करता हूं कि हैक बदल दें। इसे इसके उचित मूल्य पर सेट करना स्पष्ट रूप से ठीक है।
वामासा

2

तुम कहो:

मुझे पता है कि होम डायरेक्टरी को संस्करण नियंत्रण कारणों से कैसे सेट किया जा सकता है क्योंकि मैं एक अलग निर्देशिका से पढ़ने के लिए emacs सेट करने में सक्षम होना चाहता हूं (ताकि मैं emacs के लिए एक निर्देशिका विशिष्ट कर सकूं)

आपकी init फाइल आपके होम डायरेक्टरी में जाती है, जिसे आप कहीं भी रख सकते हैं। जाहिरा तौर पर आप सामान के लिए एक अलग निर्देशिका चाहते हैं जो Emacs लोड करता है। वह कोई समस्या नहीं है। अपनी इनिट फ़ाइल को अपनी होम डाइरेक्टरी में रखें, और उस फ़ाइल को वैरिएबल के मान में एक और डायरेक्टरी जोड़ें load-pathऔर फिर आपको जो भी अन्य Emacs लाइब्रेरी का उपयोग करना है, उसकी आवश्यकता है। उन पुस्तकालयों को उस दूसरी निर्देशिका में रखें।

IOW, आपकी init फ़ाइल को उस निर्देशिका के सेटअप से परे कुछ भी नहीं होना चाहिए जहाँ आप Emacs लाइब्रेरी को रखना चाहते हैं जिसे आप लोड करना चाहते हैं।


1

पूर्णता के लिए, मैं एक लिंक प्रदान करता हूं:

https://www.gnu.org/software/emacs/manual/html_node/efaq-w32/Location-of-init-file.html

जो कहता है कि आप HOMEरजिस्ट्री पथ में एक मान सेट कर सकते हैं :

HKCU\SOFTWARE\GNU\Emacs\HOME

लेकिन यह मान पर्यावरण चर द्वारा ओवरराइड किया जाता है HOME


0

लगता है कि तुम डाल सकता है (setq user-init-file "C:/path/to/.emacs")और में अन्य लाइनों @ryan द्वारा प्रस्तावित साइट-start.el

आपकी साइट में साइट स्टार्टअप फ़ाइल भी हो सकती है; यदि यह मौजूद है, तो इसे साइट-स्टार्ट.ल नाम दिया गया है। Default.el की तरह, Emacs इस फ़ाइल को Lisp पुस्तकालयों के लिए मानक खोज पथ के माध्यम से ढूँढता है। Emacs आपकी लायब्रेरी फ़ाइल लोड करने से पहले इस लायब्रेरी को लोड करता है।

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