emacs तर्क से फ़ाइल नहीं खोलती है और सिंटैक्स हाइलाइट काम नहीं करता है


27

मेरे नवीनतम ubuntu बॉक्स में,

  1. जब मैं उदाहरण के लिए टाइप करता हूं emacs ~/.bashrc, तो Emacs शुरू हो जाएंगे लेकिन खुले नहीं .bashrc। यह मेरे द्वारा पास की गई किसी भी फ़ाइल के लिए सही है। मैंने कई सालों से Emacs का उपयोग किया है, और इस समस्या का पहले कभी अनुभव नहीं किया है।

  2. मैंने (global-font-lock-mode 1);;अपनी .emacs फ़ाइल में जोड़ा , और Emacs इसे पहचानता है, उदाहरण के लिए। "(C++/; Abbrev)", लेकिन यह सिंटैक्स हाइलाइटिंग नहीं करेगा।

यदि आप इनमें से किसी भी समस्या को हल कर सकते हैं, तो इसकी बहुत प्रशंसा होगी। निम्नलिखित मेरी मशीन का विन्यास है:


Uname -a Linux 2.6.35-28-जेनेरिक-पए # 49-Ubuntu SMP Tue Mar 1 14:58:06 UTC 2011 i686 GNU / Linux

~ / .emacs
(वैश्विक-फ़ॉन्ट-लॉक-मोड 1) ;;



1
क्या होता है जब आप ईमेक शुरू करते हैं तो C-x C-fखोलने के लिए उपयोग करते हैं ~/.bashrc? आपको एक उपयोगी त्रुटि संदेश दे सकता है।

1
क्या *Messages*बफर में कुछ उपयोगी है?
मैथ्यू

1
हाय बहुत बहुत धन्यवाद, ऐसा लगता है कि यह निर्देशिका के कारण होता है ~ / .emacs.d, emacs वास्तव में स्टार्टअप पर शिकायत करता है: "~ / .emacs.d पहले से मौजूद है"। तो मैंने ~ / .emacs.d को हटा दिया, और अब सब कुछ काम करता है! (मैं कमांड लाइन तर्क के माध्यम से फाइलें खोल सकता हूं और वाक्य रचना हाइलाइटिंग भी अब काम करता है)। @Tom, पहले मैं emacs शुरू कर सकता हूं, और फिर .bashrc खोलने के लिए Cx Cf का उपयोग कर सकता हूं, लेकिन> emacs ~ / .bashrc

जवाबों:


34

मुझे भी यही समस्या हुई। यह इस तथ्य के कारण था कि मैंने पहली बार सूडो के साथ एमएसीएस का उपयोग किया था। परिणामस्वरूप .emacs.d को सुपर उपयोगकर्ता अधिकार के साथ बनाया गया था और मैं इसे नियमित उपयोगकर्ता के रूप में एक्सेस नहीं कर सका।

जड़ के रूप में निर्मित .emacs.d को हटाकर emacs आपके उपयोगकर्ता खाते के साथ एक नया जनरेट करता है।


3
या आप बस मालिक को बदल सकते हैंsudo chown -hR <groupname>:<username> .emacs.d/
logcat

1
हां, इसने समस्या को ठीक कर दिया। यह बहुत अच्छा होगा यदि emacs ने इस त्रुटि के बारे में कुछ जानकारी दी ...
जोस टॉमस टोचीनो

वहाँ वास्तव में इस बारे में किसी तरह का निदान होना चाहिए। यह तब बहुत कुछ होता है जब emacs को सिस्टम एडमिनिस्ट्रेशन टूल के रूप में उपयोग किया जाता है।
जूल्स

4

आपके पास ~/.emacsफ़ाइल और ~/.emacs.d/निर्देशिका दोनों हो सकते हैं , लेकिन Emacs ~/.emacs.d/init.elफ़ाइल को अनदेखा कर देंगे । एमएसीएस केवल ~/.emacs.d/init.elतब मूल्यांकन करता है जब कोई नहीं होता है ~/.emacs। ( साभार , pyrocrasty )।

देखें: Emacs इनिशियलाइज़ेशन फ़ाइल @ GNU Emacs मैन्युअल


यह बिल्कुल सच नहीं है। मैंने ~/.emacsवर्षों तक एक फ़ाइल का उपयोग किया और मेरे पास निश्चित रूप से एक ~/.emacs.d/निर्देशिका थी। जब तक आपके पास एक ही समय में एक ~/.emacsफ़ाइल और एक ~/.emacs.d/init.elफ़ाइल नहीं होती है, तब तक कोई संघर्ष नहीं होगा , और फिर भी, एमएसीएस केवल एक को अनदेखा करेगा (मेरा मानना ​​है कि यह प्राथमिकता है ~/.emacs)।
पायरोक्रास्टी

यदि आप एक त्रुटि सुधारते हैं, तो भविष्य में कृपया इसे हड़ताल न करें, लेकिन इसे पूरी तरह से हटा दें । धन्यवाद। मैंने टिप्पणी छोड़ दी ताकि आप वास्तव में इसके पोस्ट को बता सकें कि आपने अपना उत्तर सही कर दिया है। (वे आपको
उकसा

-1

initial-buffer-choiceमें startup.elप्रारंभिक फ़ाइल अनुकूलन करने देता है।


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