मैं एक फ़ाइल स्थानीय चर के साथ एक Emacs बफर नाम कैसे सेट करूँ?

वोट
9

मैं अपने Emacs फ़ाइल नाम से एक अलग नाम है करने के लिए बफ़र चाहते हैं। बल्कि इस मैन्युअल रूप से हर बार की स्थापना की तुलना में, मैं इस फ़ाइल की सामग्री के आधार पर अपने आप ही हो करना चाहते हैं, की तरह कुछ:

// स्थानीय चर:
// बफर-नाम: MyName
// अंत:

लेकिन यह काम नहीं करता क्योंकि बफर नाम एक समारोह, नहीं एक चर है। मैं यह कैसे कर सकता हूँ?

09/12/2008 को 16:57
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
12

तुम कह सकते हो:

// Local Variables:
// eval: (rename-buffer "my-buffer-name-here")
// end:

यह एक चाल है, हालांकि है।

आप अन्यथा एक कार्यक्रम सकता है find-file-hookअपने में हुक .emacsजो एक विशिष्ट स्थानीय चर सामग्री के बफर नाम बदलें। कुछ इस तरह:

(defvar pdp-buffer-name nil)

(defun pdp-rename-buffer-if-necessary ()
  "Rename the current buffer according to the value of variable"
  (interactive)
  (if (and pdp-buffer-name (stringp pdp-buffer-name))
      (rename-buffer pdp-buffer-name)))

(add-hook 'find-file-hook 'pdp-rename-buffer-if-necessary)

फिर अपने विशिष्ट फ़ाइल में आपके पास

// Local Variables:
// pdp-buffer-name: "pierre" 
// end:

अधिक मस्तिष्क शक्ति के साथ आप एक अच्छे समाधान हो सकता था।

ध्यान दें कि वहाँ पहले से ही अपनी जरूरत के लिए एक एक्सटेंशन मौजूद हो सकता है। एक नज़र डालें जो Emacs विकि

09/12/2008 को 17:30
का स्रोत उपयोगकर्ता

वोट
3

धन्यवाद पियरे। आपका पीडीपी बफर नाम elisp उदाहरण बहुत अच्छी तरह से काम किया।

क्योंकि मैंने देखा Emacs के रूप में "असुरक्षित" यानी स्थानीय चर का इलाज किया गया था, हमेशा करता है, तो मूल्य लागू किया जाना चाहिए पूछने के लिए उत्साह मैं एक वृद्धि बनाया है। जब से मैं इस से भिन्न मान के साथ "सुरक्षित" मानों की सूची के साथ मेरी .emacs को अव्यवस्थित बिना काम करना चाहता हूँ, मैं सलाह का एक टुकड़ा गयी। पिछले उदाहरण के नामकरण के साथ, यह इस तरह दिखता है:

;; allow all values for "pdp-buffer-name"  
(defadvice safe-local-variable-p (after allow-pdp-buffer-name (sym val) activate)  
  (if (eq sym 'pdp-buffer-name)    
      (setq ad-return-value t))  
  )  
09/12/2008 को 20:20
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more