是否有可能在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)))