2010-06-22 15 views
6

द्वारा Emacs कस्टम पृष्ठभूमि रंग उदाहरण के लिए, मैं कई प्रकार के फ़ाइल प्रकारों को संपादित करने के लिए emacs का उपयोग करता हूं, और उदाहरण के लिए .vhd या .py फ़ाइलों से .c फ़ाइलों को बताने के लिए एक आसान दृश्य कतार पसंद करूंगा। मैं उस भाषा के लिए प्रमुख मोड में एक कस्टम पृष्ठभूमि रंग कैसे जोड़ सकता हूं?मोड

उत्तर

6

आप इसे हुक के माध्यम से कर सकते हैं। एक अन्य प्रमुख मोड शुरू होने पर आप अन्य चीजों के साथ हुक कर सकते हैं। इस तरह अपनी कुछ .emacs फ़ाइल में रखें, और जब भी आप पाइथन मोड में जाते हैं, तो emacs आपके पृष्ठभूमि रंग को बैंगनी पर सेट कर देगा।

(add-hook 'python-mode-hook 
      (lambda() 
       (set-background-color "purple"))) 

यदि आपके पास मोड कि एक स्पष्ट सेट पृष्ठभूमि हुक के लिए यह पाठक के लिए एक व्यायाम के रूप में छोड़ दिया जाता है नहीं है के लिए वापस स्विच में डिफ़ॉल्ट करने के लिए पृष्ठभूमि रंग रीसेट करना।

आप मैन्युअल रूप से एम एक्स सेट पृष्ठभूमि रंग

+0

धन्यवाद, कि मैं के लिए क्या देख रहा था। –

+0

ध्यान दें कि आप पृष्ठभूमि रंग * प्रति बफर * या * प्रति विंडो * नहीं बदल सकते हैं, हालांकि, केवल प्रति फ्रेम (नीचे ट्रे जैक्सन का जवाब देखें)। – Thomas

4

आप एक बफर-दर-बफर आधार पर पृष्ठभूमि रंग सेट नहीं कर सकता साथ पृष्ठभूमि रंग सेट कर सकते हैं। एसयू प्रश्न How can I change the background colour of a single emacs buffer? देखें।

पहला जवाब दिखाता है कि आप एक एकल Emacs फ्रेम के लिए पृष्ठभूमि कैसे बदल सकते हैं, जो आपके लिए एक फ़ाइल प्रति फ़ाइल (या प्रति मोड) है, तो आपके लिए काम कर सकता है।

3

वंश के लिए, क्योंकि यह धागा 4 साल पुराना है, अब यह एक बफर स्थानीय स्तर पर चेहरे को बदलने के लिए Emacs 24.4+ में संभव है। बस चेहरे को परिभाषित करें और (face-remap-add-relative) का उपयोग करें जिससे आप जो भी चेहरा चाहते हैं उसे स्वैप करें।

(defface my-special-face '((t :background "aqua"))) 

फिर अपनी पसंद के मोड के लिए एक हुक जोड़ें::

एक defface परिभाषित

(add-hook 'python-mode-hook 
      (lambda() 
      (face-remap-add-relative 'default 'my-special-face)))