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

时间:2010-03-25 19:18:52

标签: emacs

目前,为了评估Emacs中的elist,我需要将光标定位在最后一个括号上并发出C-x e

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

2 个答案:

答案 0 :(得分:24)

M-x eval-buffer

Alt + x 然后输入'eval-buffer'或只输入部分内容并使用Tab键自动完成。

答案 1 :(得分:12)

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

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