(require 'paredit) (add-hook 'scheme-mode-hook (lambda () (paredit-mode 1))) (add-hook 'emacs-lisp-mode-hook (lambda () (paredit-mode 1))) (add-hook 'geiser-repl-mode-hook (lambda () (paredit-mode 1))) ;; don't hijack \ please (define-key paredit-mode-map (kbd "\\") nil) ;; keybindings (define-key paredit-mode-map (kbd "M-C-") 'backward-kill-sexp) ;; Enable `paredit-mode' in the minibuffer, during `eval-expression'. (defun conditionally-enable-paredit-mode () (if (eq this-command 'eval-expression) (paredit-mode 1))) (add-hook 'minibuffer-setup-hook 'conditionally-enable-paredit-mode) ;; making paredit work with delete-selection-mode (put 'paredit-forward-delete 'delete-selection 'supersede) (put 'paredit-backward-delete 'delete-selection 'supersede) (put 'paredit-newline 'delete-selection t) (provide 'setup-paredit)