Paredit-mode
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Description | structural editing of S-expression data |
---|---|
Author | Taylor Campbell |
Maintainer | Taylor Campbell |
Source | http://mumble.net/~campbell/emacs/paredit.el |
Paredit is a minor mode for performing structured editing of S-expression data. The typical example of this would be Lisp or Scheme source code.
Paredit helps keep parentheses balanced and adds many keys for moving S-expressions and moving around in S-expressions.
Basic setup
(autoload 'paredit-mode "paredit"
"Minor mode for pseudo-structurally editing Lisp code." t)
(add-hook 'emacs-lisp-mode-hook (lambda () (paredit-mode +1)))
(add-hook 'lisp-mode-hook (lambda () (paredit-mode +1)))
(add-hook 'lisp-interaction-mode-hook (lambda () (paredit-mode +1)))
(add-hook 'scheme-mode-hook (lambda () (paredit-mode +1)))
Helpful keybindings
- [C-M-f]
- Forward sexp
- [C-M-b]
- Backward sexp
Common Customization
SLIME REPL
(add-hook 'slime-repl-mode-hook (lambda () (paredit-mode +1)))
SLIME’s REPL has the very annoying habit of grabbing DEL which interferes with paredit’s normal operation. To alleviate this problem use the following code:
;; Stop SLIME's REPL from grabbing DEL,
;; which is annoying when backspacing over a '('
(defun override-slime-repl-bindings-with-paredit ()
(define-key slime-repl-mode-map
(read-kbd-macro paredit-backward-delete-key) nil))
(add-hook 'slime-repl-mode-hook 'override-slime-repl-bindings-with-paredit)