2010-03-25 18 views
13

वर्तमान में, Emacs में elist का मूल्यांकन करने के लिए, मुझे कर्सर को अंतिम कोष्ठक पर रखने और C-x e उत्सर्जित करने की आवश्यकता है।क्या Emacs में पूरे बफर का मूल्यांकन करना संभव है?

क्या कर्सर को स्थान देने की आवश्यकता के बिना पूरे बफर का मूल्यांकन एक एकल elisp प्रोग्राम के रूप में करना संभव है?

उत्तर

22
M-x eval-buffer 

या Alt + एक्स और फिर टाइप करें 'eval-बफर' या बस स्वत: पूर्ण करने के लिए टैब इसका हिस्सा और टाइप करें।

10

मैंने इसे अपने .emacs में रखा है! यदि आप एक या संपूर्ण बफर है तो यह आपको एक क्षेत्र को विकसित करने की अनुमति देता है। मैंने इसे सी-एक्स पर बाध्य किया।

(defun eval-region-or-buffer() 
    (interactive) 
    (let ((debug-on-error t)) 
    (cond 
    (mark-active 
     (call-interactively 'eval-region) 
     (message "Region evaluated!") 
     (setq deactivate-mark t)) 
    (t 
     (eval-buffer) 
     (message "Buffer evaluated!"))))) 

(add-hook 'emacs-lisp-mode-hook 
      (lambda() 
      (local-set-key (kbd "C-x E") 'eval-region-or-buffer))) 
संबंधित मुद्दे