2011-08-26 14 views
13

एक प्रश्न पहले ही पूछा गया है how to reload a .emacs file after changing itसभी सक्रिय बफर के लिए .emacs को पुनः लोड करें

प्रस्तावित समाधान बदल गए क्षेत्र पर M-x load-file या M-x eval-region RET का उपयोग करना था।

इनमें से कोई भी समाधान मेरे लिए अन्य खुले बफर को प्रभावित नहीं करता है। क्या सभी खुले बफर के लिए .emacs फ़ाइल को फिर से लोड करने का कोई तरीका है?

मुझे यह भी ध्यान रखना चाहिए कि M-x load-filethat answer पर टिप्पणियों में उल्लिखित कारणों के लिए वांछित प्रभाव नहीं है।

उत्तर

18

आपकी .emacs फ़ाइल एक वैश्विक विन्यास है जिसे केवल एक बार मूल्यांकन किया जाता है। यह व्यक्तिगत रूप से प्रत्येक बफर पर लागू नहीं होता है।

आप वास्तव में जो चाहते हैं उसे प्राप्त करने के लिए वास्तव में उन पर निर्भर करता है जो कि .emacs परिवर्तन हैं। कुछ elisp केवल पहली बार मूल्यांकन किया जाएगा इसका मूल्यांकन किया जाएगा; या जब एक बफर प्रमुख मोड बदलता है; या जब एक फ़ाइल लोड हो जाती है;

  • एमएक्सibufferआरईटी ibuffer शुरू करने के लिए (मैं इस बंधन की सलाह देते हैं: आदि, आदि ...

    आप कुछ या फ़ाइल बफ़र्स के सभी को फिर से लोड करना चाहते हैं, ibuffer कि बहुत आसान बना देता है सीएक्ससीबी)।

  • /एफआरईटी फ़ाइल नाम regexp . द्वारा फ़िल्टर करने के लिए ताकि किसी भी फ़ाइल नाम से मिलान किया जा सके।
  • एम ([default] पर) सभी फ़िल्टर किए गए बफर को चिह्नित करने के लिए।
  • वी (अपरकेस) सभी चिह्नित बफर को वापस करने के लिए।

या आप चरणों के साथ एम एक्सibuffer-mark-by-file-name-regexpआरईटी.आरईटी 2 + 3 बदल सकते थे। *सी एच अन्य सभी ibuffer-mark-* आदेशों जो डिफ़ॉल्ट रूप से बाध्य कर रहे हैं देखने के लिए

;; Bind `ibuffer-mark-by-file-name-regexp' to *f 
(eval-after-load "ibuffer" 
    '(define-key ibuffer-mode-map (kbd "* f") 'ibuffer-mark-by-file-name-regexp)) 

प्रकार: आप *है कि आदेश बाध्य करने के लिए च चाह सकते हैं।

3

यह जानवर बल के रूप में आप हड़ताल सकता है, लेकिन

  • यह निश्चित रूप से अपने init फ़ाइल पुनः लोड होगा (पर विचार alternatives to .emacs)
  • यह सभी खुले बफ़र्स (आप desktop उपयोग कर रहे हैं प्रदान की है, आप जो करना चाहिए) पुनः लोड होगा
  • यह आसान है

    C-x C-c 
    emacs --debug-init & 
    
+1

चेतावनी दीजिये कि desktop.el कुछ चीजों को पुनर्स्थापित करेगा (उदा। प्रमुख और मामूली तरीके, और स्थानीय चर) क्योंकि मूल रूप से वे थे, जैसे कि बफर को नया बनाया गया था। यदि लक्ष्य उन बफर को नई सेटिंग्स लागू करना है, तो यह एक बाधा हो सकती है। – phils

संबंधित मुद्दे