是否有可能在Emacs中评估整个缓冲区?

问题描述:

目前,为了评估Emacs中的elist,我需要将光标放在最后一个圆括号上并发出C-x e是否有可能在Emacs中评估整个缓冲区?

是否可以将整个缓冲区作为单个elisp程序进行评估,而无需定位光标?

M-x eval-buffer 

Alt键 + X然后键入 'EVAL-缓冲器' 或只需键入它的一部分和标签来自动完成。

我把它放在了我的.emacs! 它允许您评估一个区域,如果有一个或整个缓冲区。 我将它绑定到C-xE

(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)))