मैं विंडोज़ पर चलने वाले Emacs के लिए अपनी .emacs फ़ाइल को कहाँ ढूँढ सकता हूँ?


115

मैंने Emacs के लिए अपने विंडोज इंस्टॉलेशन के लिए .emacs फ़ाइल की तलाश करने की कोशिश की, लेकिन मुझे यह नहीं मिला। क्या यह विंडोज के तहत यूनिक्स के समान फ़ाइल नाम है?

क्या मुझे इसे स्वयं बनाना है? यदि हां, तो यह किस विशिष्ट निर्देशिका के तहत है?

जवाबों:


108

Emacs FAQ, http://www.gnu.org/software/emacs/windows/ से कॉपी और पेस्ट किया गया :

मैं अपनी init फ़ाइल कहाँ रखूँ?

विंडोज पर, .emacsफ़ाइल को _emacsडॉस और एफएटी फाइल सिस्टम के साथ पिछड़े संगतता के लिए बुलाया जा सकता है , जहां फ़ाइलनाम डॉट से शुरू नहीं हो सकता है। कुछ उपयोगकर्ता इस तरह के नाम का उपयोग जारी रखना पसंद करते हैं, क्योंकि विंडोज एक्सप्लोरर एक फ़ाइल को डॉट के साथ शुरू होने वाले नाम से नहीं बना सकता है, भले ही फाइल सिस्टम और अधिकांश अन्य प्रोग्राम इसे संभाल सकते हैं। Emacs 22 में और बाद में, init फाइल को भी बुलाया जा सकता है .emacs.d/init.el। लिस्प संकुल द्वारा बनाई गई कई अन्य फाइलें अब .emacs.dनिर्देशिका में भी संग्रहीत की जाती हैं, इसलिए यह आपकी सभी Emacs संबंधित फाइलों को एक स्थान पर रखती है।

ऊपर बताई गई सभी फाइलें आपके होम डायरेक्टरी में जानी चाहिए। गृह निर्देशिका नीचे दिए गए चरणों का पालन करके निर्धारित की जाती है:

  1. यदि पर्यावरण चर घर सेट किया गया है, तो उस निर्देशिका का उपयोग करें जो यह इंगित करता है।
  2. यदि रजिस्ट्री प्रविष्टि HKCU \ SOFTWARE \ GNU \ Emacs \ HOME सेट है, तो उस निर्देशिका का उपयोग करें जो यह इंगित करता है।
  3. यदि रजिस्ट्री प्रविष्टि HKLM \ SOFTWARE \ GNU \ Emacs \ HOME सेट है, तो उस निर्देशिका का उपयोग करें जो यह इंगित करता है। अनुशंसित नहीं है, क्योंकि यह उपयोगकर्ताओं को उसी होम निर्देशिका को साझा करने में परिणाम देता है।
  4. यदि C:\.emacsमौजूद है, तो उपयोग करें C:/। यह पिछली संगतता के लिए है, क्योंकि पिछले संस्करण डिफ़ॉल्ट रूप से C:/अगर घर सेट नहीं था।
  5. उपयोगकर्ता की AppData निर्देशिका का उपयोग करें, आमतौर पर उपयोगकर्ता की निर्देशिका निर्देशिका के तहत अनुप्रयोग डेटा नामक एक निर्देशिका, जिसका स्थान विंडोज संस्करण के अनुसार भिन्न होता है और चाहे कंप्यूटर एक डोमेन का हिस्सा हो।

Emacs के भीतर, ~एक फ़ाइल नाम की शुरुआत में आपकी गृह निर्देशिका में विस्तार किया जाता है, जिससे आप हमेशा अपनी .emacs फ़ाइल को ढूंढ सकते हैं C-x C-f ~/.emacs

MS-Windows पर HOME और स्टार्टअप निर्देशिकाएँ पर आगे की जानकारी है ।


1
या आपको Cx Cf ~ / _emacs (अवधि के बजाय) के साथ खोजने की आवश्यकता हो सकती है। आपके init के लिए अंडरस्कोर का उपयोग करना आम है (और सुझाए गए) Vim और Emacs दोनों के लिए अभ्यास।
भूलभुलैया

Emacs शिकायत करता है कि "_emacs" को पदावनत किया गया है :(
ब्रायन Z

धन्यवाद। इस स्पष्टीकरण ने वास्तव में मुझे क्लोजर ट्यूटोरियल के बाद ठीक से emacs सेट करने में मदद की, जहां उन्होंने इसका उल्लेख नहीं किया। खिड़कियों पर गृह चर बनाया और अब यह काम करता है।
सिनियास

मेरे लिए आपके बिंदु 5 से ऊपर के संदर्भ में, निर्देशिका emacs मेरे लिए देख रहा है C: \ Users \ userid \ AppData \ Roaming विंडोज 7 पर है, लेकिन निश्चित रूप से मेरा कंप्यूटर एक डोमेन पर है।
user8128167

विंडोज 10 पर मैंने AppData प्रत्यय से बचने के लिए चर होम को% USERPROFILE% निर्धारित किया है।
Bae

80

इसे चर उपयोगकर्ता-इनिट-फ़ाइल में संग्रहीत किया जाना चाहिए। C-H v user-init-file RETजांच करने के लिए उपयोग करें। आप इसे सीधे उपयोग करके भी खोल सकते हैंM-x eval-expression RET (find-file user-init-file) RET


8
यह इतना मददगार है, मुझे आश्चर्य है कि यह init फाइलों पर मैनुअल सेक्शन में उल्लिखित नहीं है।
ब्रायन जेड

मुझे आश्चर्य है कि जब मैं यह कोशिश करता हूं, तो मुझे क्यों मिलता है trailing garbage following expression?
मार्को ग्रैडिक

क्या आपने कोष्ठक का उपयोग किया था?
जोस रोमेरो

29

इस तरह की फ़ाइल को विंडोज के लिए Emacs में खोलें:

C-x C-f ~/.emacs

Emacs Wiki में अधिक जानकारी


11
और फिर एक परिचित विंडोज ओपन संवाद में जहां / / है देखने के लिए फ़ाइल> ओपन फ़ाइल ... या इस रूप में सहेजें ... पर क्लिक करें।
यौ

21

मेरे विस्टा बॉक्स पर C:\Users\<USER>\AppData\Roaming\


1
एक अपवाद के साथ विंडोज 8.1 (Emacs 24) के लिए भी। जब Emacs को Windows Explorer से खोला जाता है, तो एक लिंक या cmd कंसोल यह C: \ Users \ <USER> \ AppData \ Roaming \ .emacs प्रोफ़ाइल फ़ाइल का उपयोग करता है, लेकिन यदि आप PowerShell कंसोल से Emacs खोलते हैं, तो Emacs C में .emacs फ़ाइल की तलाश करेंगे। : \ Users \ <USER> फ़ोल्डर।
क्रि।

इसने मेरे लिए काम किया। मैंने AppData में रोमिंग निर्देशिका में एक .emacs फ़ाइल बनाई, और एक आकर्षण की तरह काम करता है! विंडोज 10.
रेट्रो गेमर

विंडोज 10 में काम किया
एलेक्स कास्ज़िनस्की

6

ध्यान दें कि यह केवल टाइप करने के लिए पर्याप्त नहीं हो सकता है Ctrl-x Ctrl-f ~/.emacs और फ़ाइल बनाने के ।

यह हो सकता है कि आपका Emacs एप्लिकेशन आपकी init फ़ाइल को संग्रहीत करने के लिए किसी अन्य स्थान का उपयोग करता है, और यदि ऐसा है, तो फ़ाइल बनाना ~ / .emacs बस एक बेकार फ़ाइल बनाता है जिसे आपका Emacs अनुप्रयोग बनाता है। अनदेखा करता है।

इसके अलावा, आप केवल पहुंच से अधिक करना चाहते हैं .emacs init फ़ाइल , लेकिन आप यह जानना चाह सकते हैं कि यह कहाँ है, अर्थात्, इसका पथनाम।

इसे प्राप्त करने के लिए दो तरीके हैं:

आसान तरीका: टाइप Ctrl+H V यूजर-इनिट-फाइलReturn

थोड़ा मुश्किल तरीका: आप यह पता लगा सकते हैं कि आपका सिस्टम अपनी .emacs फ़ाइल को कहां स्टोर कर रहा है:

  1. विकल्पों पर क्लिक करें और "डिफ़ॉल्ट फ़ॉन्ट सेट करें ..." पर स्क्रॉल करें
  2. फ़ॉन्ट सेटिंग बदलें और ठीक क्लिक करें
  3. विकल्प मेनू पर, "विकल्प सहेजें" पर जाएं
  4. जब विकल्प सहेजे जाते हैं, तो सिस्टम अपनी .emacs फ़ाइल को सहेजता है, और आप Emacs स्क्रीन के निचले भाग में मिनीबफ़र में फ़ाइल पथ को पढ़ सकते हैं

कृपया अपना उत्तर फ़ॉर्मेट करने के बारे में डॉक्स देखें। यह काफी आसान है और आप अधिक प्रतिष्ठा अर्जित करेंगे।
भाविक शाह

जब मैंने ~ / .emacs.el फ़ाइल नामक फ़ाइल को सहेजा, तो इसे बनाया गया था 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%निर्देशिका में रखता हूं जो खिड़कियों पर तार्किक गृह निर्देशिका है (कम से कम जहां तक ​​मेरा संबंध है)।
पेट्स

4

विंडोज 7 में अपनी init.elफाइल को अंदर रखें C:\Users\user-name\AppData\Roaming\.emacs.d\, जहां उपयोगकर्ता-नाम आपका उपयोगकर्ता / लॉगिन फ़ोल्डर है।

ध्यान रखें कि आपकी init.elफ़ाइल का नाम नहीं होगा init.el.txt। यदि आप कुछ एडिटर जैसे नोटपैड के साथ अपनी फाइल बनाते हैं तो यह विंडोज कुछ करता है।


4

22 से ऊपर विंडोज पर Emacs के संस्करणों पर, यह स्थानांतरित हो गया लगता है

~/.emacs.d/init.el

, ~आपके पर्यावरण चर घर का मूल्य होने के नाते (नियंत्रण कक्ष → सिस्टमउन्नतपर्यावरण चर ) देखें।

फ़ाइल ही मौजूद नहीं हो सकती है। उस स्थिति में इसे बनाएं।


3

आपको एक 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 निर्देशिका में सब कुछ होना पसंद करता हूँ।

इसी तरह का एक और सवाल यहाँ था:


"प्यार करने के लिए समझे कि विंडोज कैसे काम करता है।"
क्रिस चारारुक

2

जैसा कि कंजा ने उत्तर दिया, इस फ़ाइल का पथ user-init-fileचर में संग्रहीत है (या यदि कोई init फ़ाइल मौजूद नहीं है, तो चर में इसे बनाने के लिए डिफ़ॉल्ट मान होता है)।

तो इस बात की परवाह किए बिना कि आप किस संभावित इनिट फ़ाइल नाम का उपयोग कर रहे हैं, और यह किस निर्देशिका में है, आपको अपनी इनिट फ़ाइल के साथ यात्रा करने में सक्षम होना चाहिए:

M-: (find-file user-init-file) RET

या इसके साथ गूंज क्षेत्र में अपना पूर्ण पथ प्रदर्शित करें:

M-: (expand-file-name user-init-file) RET


2

Emacs 23 और Windows 7 पर यह तभी काम करता है जब आप सेट करते हैं:

HKCU\SOFTWARE\GNU\Emacs\HOME

अंत में मैंने यह पाया! धन्यवाद!
क्रिस

अंत में मैंने यह पाया! मैं भी!
निचला गधा

"सेट" करके, क्या आप उस कुंजी को बनाने का मतलब है (बिना सामग्री के)?
पीटर मोर्टेंसन

1

मैंने पाया है कि Emacs 22 कभी-कभी मेरी XP मशीन पर "C: \ Documents and Settings \ username \ Application Data \ .emacs", या सिर्फ "C: \ Documents and Settings \ username \ .emacs" को खोलेगा। मुझे इस बात का स्पष्टीकरण नहीं मिला है कि यह कभी-कभार बदलता क्यों है।

~ हमेशा जो भी emacs का मौजूदा उदाहरण है लगता है कि घर की ओर इशारा करेंगे, लेकिन kanja की टिप (Ch v उपयोगकर्ता-इनिट-फ़ाइल) आपको हमेशा बताएगी कि ~ / .emacs वास्तव में नक्शे में क्या है।


2
अब मैंने देखा है कि विंडोज HOMEपर्यावरण चर को अलग तरह से सेट करेगा , यह इस बात पर निर्भर करता है कि मैं कैसे शुरू करता हूं runemacs.exe। यदि मैं इसे एक्सप्लोरर के भीतर से शुरू करता हूं, तो HOMEइसे सेट किया जाता है C:\Documents and Settings\username, लेकिन अगर मैं इसे स्टार्ट मेनू से शुरू करता हूं, तो HOMEहै C:\Documents and Settings\username\Application Data। अजीब।
रीसायकल



0

विंडोज 8.1 पर, यदि Emacs को विंडोज एक्सप्लोरर से शुरू किया जाता है, तो एक शॉर्टकट या cmd कंसोल से यह C: \ Users \ <USER> \ AppData \ Roaming.emacs इनिट फ़ाइल का उपयोग करता है । जब मैं Emacs को PowerShell से शुरू करता हूं, तो Emacs अपनी Init फ़ाइल को C: \ Users \ <USER> फ़ोल्डर में देखता है । इस समस्या को हल करने के लिए गृह उपयोगकर्ता वातावरण चर (नियंत्रण कक्ष \ सिस्टम और सुरक्षा \ सिस्टम-> उन्नत सिस्टम सेटिंग्स-> उन्नत-> पर्यावरण चर) को C: \ Users \ <USER> में सेट करना था । इस परिवर्तन के बाद, कोई बात नहीं कि मैं Emacs कैसे शुरू करता हूं, यह उसी init फ़ाइल का उपयोग करता है (इस प्रश्न का स्वीकृत उत्तर देखें )


0

WIndows7 और Emacs26.3 के लिए &


यदि HOMEवातावरण सेट है, तो .emacsफ़ाइल उस फ़ोल्डर में होनी चाहिए।

अन्यथा, यह अंदर होना चाहिए c:\


दोनों मामलों में, अगर .emacsवहाँ नहीं है, _emacsका उपयोग किया जाना चाहिए।

ऐसा इसलिए है क्योंकि हम .emacsविंडोज़ फ़ाइल के नामकरण नियमों के अनुसार फ़ाइल नहीं बना सकते । (लेकिन हम इसे कहीं और से डाउनलोड या कॉपी कर सकते हैं)।

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