Difference between revisions of "Paredit-mode"

From WikEmacs
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 ==
  
= 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 ==
  
= 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

Paredit
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)

See Also

Project Pages

Tutorial Pages

External Links