diff options
author | Alan Pearce | 2013-07-29 14:08:53 +0100 |
---|---|---|
committer | Alan Pearce | 2013-07-29 14:08:53 +0100 |
commit | 72aa9219773cb0717c4f27a28056c4fef5ce2e6a (patch) | |
tree | a4a55925ed0cf3d268728a1407ceeeee88bb4a96 | |
parent | f26545a8cb75a4aeb0773ac309d8145aeb087d1d (diff) | |
download | dotfiles-72aa9219773cb0717c4f27a28056c4fef5ce2e6a.tar.lz dotfiles-72aa9219773cb0717c4f27a28056c4fef5ce2e6a.tar.zst dotfiles-72aa9219773cb0717c4f27a28056c4fef5ce2e6a.zip |
Emacs: add eval-and-replace and bind to C-c e
-rw-r--r-- | emacs/init.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/emacs/init.el b/emacs/init.el index 43a1314..26defe9 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -972,6 +972,18 @@ Also returns nil if pid is nil." (add-hook 'emacs-lisp-mode-hook 'imenu-elisp-sections) +(defun eval-and-replace () + "Replace the preceding sexp with its value." + (interactive) + (backward-kill-sexp) + (condition-case nil + (prin1 (eval (read (current-kill 0))) + (current-buffer)) + (error (message "Invalid expression") + (insert (current-kill 0))))) + +(bind-key "C-c e" #'eval-and-replace) + ;;;; Programming (use-package auto-compile |