目前,为了评估Emacs中的elist,我需要将光标定位在最后一个括号上并发出C-x e
。
是否可以将整个缓冲区评估为单个elisp程序而无需定位光标?
答案 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)))