जवाबों:
Emacs FAQ, http://www.gnu.org/software/emacs/windows/ से कॉपी और पेस्ट किया गया :
विंडोज पर, .emacs
फ़ाइल को _emacs
डॉस और एफएटी फाइल सिस्टम के साथ पिछड़े संगतता के लिए बुलाया जा सकता है , जहां फ़ाइलनाम डॉट से शुरू नहीं हो सकता है। कुछ उपयोगकर्ता इस तरह के नाम का उपयोग जारी रखना पसंद करते हैं, क्योंकि विंडोज एक्सप्लोरर एक फ़ाइल को डॉट के साथ शुरू होने वाले नाम से नहीं बना सकता है, भले ही फाइल सिस्टम और अधिकांश अन्य प्रोग्राम इसे संभाल सकते हैं। Emacs 22 में और बाद में, init फाइल को भी बुलाया जा सकता है .emacs.d/init.el
। लिस्प संकुल द्वारा बनाई गई कई अन्य फाइलें अब .emacs.d
निर्देशिका में भी संग्रहीत की जाती हैं, इसलिए यह आपकी सभी Emacs संबंधित फाइलों को एक स्थान पर रखती है।
ऊपर बताई गई सभी फाइलें आपके होम डायरेक्टरी में जानी चाहिए। गृह निर्देशिका नीचे दिए गए चरणों का पालन करके निर्धारित की जाती है:
C:\.emacs
मौजूद है, तो उपयोग करें C:/
। यह पिछली संगतता के लिए है, क्योंकि पिछले संस्करण डिफ़ॉल्ट रूप से C:/
अगर घर सेट नहीं था।Emacs के भीतर, ~
एक फ़ाइल नाम की शुरुआत में आपकी गृह निर्देशिका में विस्तार किया जाता है, जिससे आप हमेशा अपनी .emacs फ़ाइल को ढूंढ सकते हैं C-x C-f ~/.emacs
।
MS-Windows पर HOME और स्टार्टअप निर्देशिकाएँ पर आगे की जानकारी है ।
इसे चर उपयोगकर्ता-इनिट-फ़ाइल में संग्रहीत किया जाना चाहिए। C-H v user-init-file RET
जांच करने के लिए उपयोग करें। आप इसे सीधे उपयोग करके भी खोल सकते हैंM-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression
?
मेरे विस्टा बॉक्स पर C:\Users\<USER>\AppData\Roaming\
ध्यान दें कि यह केवल टाइप करने के लिए पर्याप्त नहीं हो सकता है Ctrl-x Ctrl-f ~/.emacs
और फ़ाइल बनाने के ।
यह हो सकता है कि आपका Emacs एप्लिकेशन आपकी init फ़ाइल को संग्रहीत करने के लिए किसी अन्य स्थान का उपयोग करता है, और यदि ऐसा है, तो फ़ाइल बनाना ~ / .emacs बस एक बेकार फ़ाइल बनाता है जिसे आपका Emacs अनुप्रयोग बनाता है। अनदेखा करता है।
इसके अलावा, आप केवल पहुंच से अधिक करना चाहते हैं .emacs init फ़ाइल , लेकिन आप यह जानना चाह सकते हैं कि यह कहाँ है, अर्थात्, इसका पथनाम।
इसे प्राप्त करने के लिए दो तरीके हैं:
आसान तरीका: टाइप Ctrl+H V यूजर-इनिट-फाइलReturn
थोड़ा मुश्किल तरीका: आप यह पता लगा सकते हैं कि आपका सिस्टम अपनी .emacs फ़ाइल को कहां स्टोर कर रहा है:
c:/Users/user1/AppData/Roaming/.emacs.el
। इस साइट ने emacswiki.org/emacs/DotEmacsDotD ने मुझे यह महसूस करने में मदद की कि मुझे उस फाइल का नाम रखने की जरूरत है, ~/.emacs.d/init.el
जिसका मतलब था कि फाइल सिस्टम में फाइल उस समय थी c:\Users\user1\AppData\Roaming\.emacs.d\init.el
(जो मुझे उम्मीद नहीं थी)। मैं गृह परिवेश चर सेट करना पसंद करता हूं और फ़ाइल को अपनी %USERPROFILE%
निर्देशिका में रखता हूं जो खिड़कियों पर तार्किक गृह निर्देशिका है (कम से कम जहां तक मेरा संबंध है)।
विंडोज 7 में अपनी init.el
फाइल को अंदर रखें C:\Users\user-name\AppData\Roaming\.emacs.d\
, जहां उपयोगकर्ता-नाम आपका उपयोगकर्ता / लॉगिन फ़ोल्डर है।
ध्यान रखें कि आपकी init.el
फ़ाइल का नाम नहीं होगा init.el.txt
। यदि आप कुछ एडिटर जैसे नोटपैड के साथ अपनी फाइल बनाते हैं तो यह विंडोज कुछ करता है।
आपको एक emacs आरंभीकरण फ़ाइल बनानी होगी। एक स्वचालित रूप से निर्मित नहीं है। मेरे पास एक समान मुद्दा था और यह जवाब नीचे ट्रैक करता है कि मैंने क्या किया।
मेरा मुद्दा मेरी ~/.emacs.el
फ़ाइल लोड नहीं था। अजीब है क्योंकि यह हमेशा मेरे लिए काम किया है।
इस प्रश्न / उत्तर ने मेरी मदद की लेकिन मुझे अपनी इनिट फ़ाइल डालनी पड़ी %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
क्योंकि यह स्पष्ट रूप से विंडोज पर डिफ़ॉल्ट व्यवहार है।
इस समस्या का निवारण करने के लिए, मैंने एमएसीएस * स्क्रैच * बफर में निम्नलिखित भाग लिया ।
user-emacs-directory
"~/.emacs.d/"
जब मैंने देखा user-emacs-directory
था ~/.emacs.d
, मैं बस अपने .emacs.el फ़ाइल को स्थानांतरित कर दिया %USERPROFILE%\.emacs.d\init.el
। लेकिन यह अभी भी काम नहीं किया। मैंने expand-file-name
नीचे दिखाए अनुसार जारी रखा :
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
विंडोज कैसे काम करता है प्यार करने के लिए मिला। (नहीं) तो मैंने अपनी emacs.el
फ़ाइल को स्थानांतरित कर दिया %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
और यह काम किया। फाइल अब पढ़ी जा रही थी। लेकिन मैं अन्य त्रुटियों मिला क्योंकि मेरी आरंभीकरण फ़ाइल (अन्य (व्यक्तिगत Emacs) भरी हुई फाइलों में ~/myenv/emacs/*.el
।
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
हम ... मेरी सभी फाइलों की तरह लगता है कि ~/myenv/emacs/*.el
इसे काम करने के लिए स्थानांतरित करने की आवश्यकता होगी, लेकिन मैं ऐसा नहीं करना चाहता था। तब मुझे महसूस हुआ कि गृह परिवेश चर सेट नहीं होने के कारण, emacs अपना डिफ़ॉल्ट व्यवहार कर रहा था ।
उपाय
एक बार जब मैंने अपना विंडोज़ HOME
वातावरण चर सेट किया तो %USERPROFILE%
सब कुछ काम करने लगा जैसे पिछले 25 सालों से ऐसा हो रहा है। :-)
गृह परिवेश चर सेट करने के लिए, मैंने पर्यावरण चर डायलॉग बॉक्स खोलने के लिए WindowsKey + "आपके खाते के लिए पर्यावरण चर संपादित करें" टाइप किया, और दर्ज किया HOME=%USERPROFILE%
।
अब मेरी emacs आरंभीकरण फ़ाइल .emacs.el वापस अपने सही स्थान पर है $HOME/.emacs.el
और अंदर नहीं है%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
निष्पक्ष होने के लिए, यदि Windows के पास उपयोगकर्ता स्थापित पैकेजों के लिए फाइल रखने के लिए सिर्फ एक ही जगह थी, तो घर बनाने का समाधान = %USERPROFILE\AppData\Roaming
स्वीकार्य हो सकता है, लेकिन क्योंकि कुछ एप्लिकेशन उपयोग करते हैं %USERPROFILE%
, कुछ उपयोग करते हैं %USERPROFILE\AppData\Roaming
और अन्य इसका उपयोग करते हैं, %USERPROFILE\AppData\Local
यह जानना मुश्किल है कि आपका कॉन्फ़िगरेशन कहां खोजना है। फ़ाइलें।
मैं अपने% USERPROFILE% या $ HOME निर्देशिका में सब कुछ होना पसंद करता हूँ।
इसी तरह का एक और सवाल यहाँ था:
जैसा कि कंजा ने उत्तर दिया, इस फ़ाइल का पथ user-init-file
चर में संग्रहीत है (या यदि कोई init फ़ाइल मौजूद नहीं है, तो चर में इसे बनाने के लिए डिफ़ॉल्ट मान होता है)।
तो इस बात की परवाह किए बिना कि आप किस संभावित इनिट फ़ाइल नाम का उपयोग कर रहे हैं, और यह किस निर्देशिका में है, आपको अपनी इनिट फ़ाइल के साथ यात्रा करने में सक्षम होना चाहिए:
M-: (find-file user-init-file)
RET
या इसके साथ गूंज क्षेत्र में अपना पूर्ण पथ प्रदर्शित करें:
M-: (expand-file-name user-init-file)
RET
Emacs 23 और Windows 7 पर यह तभी काम करता है जब आप सेट करते हैं:
HKCU\SOFTWARE\GNU\Emacs\HOME
मैंने पाया है कि Emacs 22 कभी-कभी मेरी XP मशीन पर "C: \ Documents and Settings \ username \ Application Data \ .emacs", या सिर्फ "C: \ Documents and Settings \ username \ .emacs" को खोलेगा। मुझे इस बात का स्पष्टीकरण नहीं मिला है कि यह कभी-कभार बदलता क्यों है।
~ हमेशा जो भी emacs का मौजूदा उदाहरण है लगता है कि घर की ओर इशारा करेंगे, लेकिन kanja की टिप (Ch v उपयोगकर्ता-इनिट-फ़ाइल) आपको हमेशा बताएगी कि ~ / .emacs वास्तव में नक्शे में क्या है।
HOME
पर्यावरण चर को अलग तरह से सेट करेगा , यह इस बात पर निर्भर करता है कि मैं कैसे शुरू करता हूं runemacs.exe
। यदि मैं इसे एक्सप्लोरर के भीतर से शुरू करता हूं, तो HOME
इसे सेट किया जाता है C:\Documents and Settings\username
, लेकिन अगर मैं इसे स्टार्ट मेनू से शुरू करता हूं, तो HOME
है C:\Documents and Settings\username\Application Data
। अजीब।
Windows XP पर यह है:
C:\Documents and Settings\yourusernamehere\Application Data\
आपके विंडोज संस्करण और अतिरिक्त जानकारी के आधार पर निर्देशिकाओं की एक सूची है: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
विंडोज 8.1 पर, यदि Emacs को विंडोज एक्सप्लोरर से शुरू किया जाता है, तो एक शॉर्टकट या cmd कंसोल से यह C: \ Users \ <USER> \ AppData \ Roaming.emacs इनिट फ़ाइल का उपयोग करता है । जब मैं Emacs को PowerShell से शुरू करता हूं, तो Emacs अपनी Init फ़ाइल को C: \ Users \ <USER> फ़ोल्डर में देखता है । इस समस्या को हल करने के लिए गृह उपयोगकर्ता वातावरण चर (नियंत्रण कक्ष \ सिस्टम और सुरक्षा \ सिस्टम-> उन्नत सिस्टम सेटिंग्स-> उन्नत-> पर्यावरण चर) को C: \ Users \ <USER> में सेट करना था । इस परिवर्तन के बाद, कोई बात नहीं कि मैं Emacs कैसे शुरू करता हूं, यह उसी init फ़ाइल का उपयोग करता है (इस प्रश्न का स्वीकृत उत्तर देखें )
WIndows7 और Emacs26.3 के लिए &
यदि HOME
वातावरण सेट है, तो .emacs
फ़ाइल उस फ़ोल्डर में होनी चाहिए।
अन्यथा, यह अंदर होना चाहिए c:\
।
दोनों मामलों में, अगर .emacs
वहाँ नहीं है, _emacs
का उपयोग किया जाना चाहिए।
ऐसा इसलिए है क्योंकि हम .emacs
विंडोज़ फ़ाइल के नामकरण नियमों के अनुसार फ़ाइल नहीं बना सकते । (लेकिन हम इसे कहीं और से डाउनलोड या कॉपी कर सकते हैं)।