Difference between revisions of "Paredit-mode"
Jump to navigation
Jump to search
| Line 10: | Line 10: | ||
Paredit helps '''keep parentheses balanced''' and adds many keys for moving S-expressions and moving around in S-expressions. | Paredit helps '''keep parentheses balanced''' and adds many keys for moving S-expressions and moving around in S-expressions. | ||
| − | = Basic setup = | + | |
| + | == Basic setup == | ||
<source lang="lisp"> | <source lang="lisp"> | ||
| Line 21: | Line 22: | ||
</source> | </source> | ||
| − | = Helpful keybindings = | + | == Helpful keybindings == |
; {{Keys|C-M-f}} | ; {{Keys|C-M-f}} | ||
| Line 29: | Line 30: | ||
: Backward sexp | : Backward sexp | ||
| − | = Common Customization = | + | == Common Customization == |
| − | == SLIME REPL == | + | === SLIME REPL === |
<source lang="lisp"> | <source lang="lisp"> | ||
| Line 48: | Line 49: | ||
</source> | </source> | ||
| − | = See Also = | + | == See Also == |
| + | |||
| + | * [[autopair-mode]] | ||
| + | * [[rainbow delimiters]] | ||
| + | * [[electric-pair-mode]] | ||
| + | |||
| + | == Project Pages == | ||
| − | |||
* [http://mumble.net/~campbell/emacs/paredit.el Stable Version] | * [http://mumble.net/~campbell/emacs/paredit.el Stable Version] | ||
* [http://mumble.net/~campbell/emacs/paredit-beta.el Beta Version] | * [http://mumble.net/~campbell/emacs/paredit-beta.el Beta Version] | ||
* [http://mumble.net/~campbell/emacs/paredit.html Official documentation] | * [http://mumble.net/~campbell/emacs/paredit.html Official documentation] | ||
| − | = Tutorial Pages = | + | == Tutorial Pages == |
| + | |||
| + | == External Links == | ||
| − | |||
* [http://emacswiki.org/emacs/PareditCheatsheet Cheat Sheet] | * [http://emacswiki.org/emacs/PareditCheatsheet Cheat Sheet] | ||
* [http://www.slideshare.net/mudphone/paredit-preso Paredit Preso] | * [http://www.slideshare.net/mudphone/paredit-preso Paredit Preso] | ||
[[Category:Lisp]][[Category:Convenience]][[Category:Third Party Package]] | [[Category:Lisp]][[Category:Convenience]][[Category:Third Party Package]] | ||
Revision as of 12:23, 2 May 2012
| 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)