### Basic Insertion Commands

`(` | paredit-open-round
--- | ---

    (a b |c d)

↓

    (a b (|) c d)

    (foo "bar |baz" quux)

↓

    (foo "bar (|baz" quux)

`)` | paredit-close-round

    (a b |c   )

↓

    (a b c)|

    ; Hello,| world!

↓

    ; Hello,)| world!

`M-)` | paredit-close-round-and-newline

    (defun f (x|  ))

↓

    (defun f (x)
      |)

    ; (Foo.|

↓

    ; (Foo.)|

`[` | paredit-open-square

    (a b |c d)

↓

    (a b [|] c d)

    (foo "bar |baz" quux)

↓

    (foo "bar [|baz" quux)

`]` | paredit-close-square

    (define-key keymap [frob|  ] 'frobnicate)

↓

    (define-key keymap [frob]| 'frobnicate)

    ; [Bar.|

↓

    ; [Bar.]|

`"` | paredit-doublequote

    (frob grovel |full lexical)

↓

    (frob grovel "|" full lexical)

↓

    (frob grovel ""| full lexical)

    (foo "bar |baz" quux)

↓

    (foo "bar \"|baz" quux)

    (frob grovel)   ; full |lexical

↓

    (frob grovel)   ; full "|lexical

`M-"` | paredit-meta-doublequote

    (foo "bar |baz" quux)

↓

    (foo "bar baz"| quux)

    (foo |(bar #\x "baz \\ quux") zot)

↓

    (foo "|(bar #\\x \"baz \\\\ quux\")" zot)

`\` | paredit-backslash

    (string #|)
      ; Character to escape: x

↓

    (string #\x|)

    "foo|bar"
      ; Character to escape: "

↓

    "foo\"|bar"

`;` | paredit-semicolon

    |(frob grovel)

↓

    ;|(frob grovel)

    (frob |grovel)

↓

    (frob ;|grovel
     )

    (frob |grovel (bloit
                   zargh))

↓

    (frob ;|grovel
     (bloit
      zargh))

    (frob grovel)          |

↓

    (frob grovel)          ;|

`M-;` | paredit-comment-dwim

    (foo |bar)   ; baz

↓

    (foo bar)                               ; |baz

    (frob grovel)|

↓

    (frob grovel)                           ;|

    (zot (foo bar)
    |
         (baz quux))

↓

    (zot (foo bar)
         ;; |
         (baz quux))

    (zot (foo bar) |(baz quux))

↓

    (zot (foo bar)
         ;; |
         (baz quux))

    |(defun hello-world ...)

↓

    ;;; |
    (defun hello-world ...)

| paredit-newline

    (let ((n (frobbotz))) |(display (+ n 1)
    port))

↓

    (let ((n (frobbotz)))
      |(display (+ n 1)
               port))

`RET` | paredit-RET

`C-j` | paredit-C-j

### Deleting & Killing

`<delete>`, `<deletechar>` | paredit-forward-delete
--- | ---

    (quu|x "zot")

↓

    (quu| "zot")

    (quux |"zot")

↓

    (quux "|zot")

↓

    (quux "|ot")

    (foo (|) bar)

↓

    (foo | bar)

    |(foo bar)

↓

    (|foo bar)

`DEL` | paredit-backward-delete

    ("zot" q|uux)

↓

    ("zot" |uux)

    ("zot"| quux)

↓

    ("zot|" quux)

↓

    ("zo|" quux)

    (foo (|) bar)

↓

    (foo | bar)

    (foo bar)|

↓

    (foo bar|)

`C-d` | paredit-delete-char

    (quu|x "zot")

↓

    (quu| "zot")

    (quux |"zot")

↓

    (quux "|zot")

↓

    (quux "|ot")

    (foo (|) bar)

↓

    (foo | bar)

    |(foo bar)

↓

    (|foo bar)

`C-k` | paredit-kill

    (foo bar)|     ; Useless comment!

↓

    (foo bar)|

    (|foo bar)     ; Useful comment!

↓

    (|)     ; Useful comment!

    |(foo bar)     ; Useless line!

↓

    |

    (foo "|bar baz"
         quux)

↓

    (foo "|"
         quux)

`M-d` | paredit-forward-kill-word

    |(foo bar)    ; baz

↓

    (| bar)    ; baz

↓

    (|)    ; baz

↓

    ()    ;|

    ;;;| Frobnicate
    (defun frobnicate ...)

↓

    ;;;|
    (defun frobnicate ...)

↓

    ;;;
    (| frobnicate ...)

`M-DEL` | paredit-backward-kill-word

    (foo bar)    ; baz
    (quux)|

↓

    (foo bar)    ; baz
    (|)

↓

    (foo bar)    ; |
    ()

↓

    (foo |)    ;
    ()

↓

    (|)    ;
    ()

### Movement & Navigation

`C-M-f` | paredit-forward
--- | ---

    (foo |(bar baz) quux)

↓

    (foo (bar baz)| quux)

    (foo (bar)|)

↓

    (foo (bar))|

`C-M-b` | paredit-backward

    (foo (bar baz)| quux)

↓

    (foo |(bar baz) quux)

    (|(foo) bar)

↓

    |((foo) bar)

`C-M-u` | paredit-backward-up

`C-M-d` | paredit-forward-down

`C-M-p` | paredit-backward-down

`C-M-n` | paredit-forward-up

### Depth-Changing Commands

`M-(` | paredit-wrap-round
--- | ---

    (foo |bar baz)

↓

    (foo (|bar) baz)

`M-s` | paredit-splice-sexp

    (foo (bar| baz) quux)

↓

    (foo bar| baz quux)

`M-<up>`, `ESC <up>` | paredit-splice-sexp-killing-backward

    (foo (let ((x 5)) |(sqrt n)) bar)

↓

    (foo |(sqrt n) bar)

`M-<down>`, `ESC <down>` | paredit-splice-sexp-killing-forward

    (a (b c| d e) f)

↓

    (a b c| f)

`M-r` | paredit-raise-sexp

    (dynamic-wind in (lambda () |body) out)

↓

    (dynamic-wind in |body out)

↓

    |body

`M-?` | paredit-convolute-sexp

    (let ((x 5) (y 3)) (frob |(zwonk)) (wibblethwop))

↓

    (frob |(let ((x 5) (y 3)) (zwonk) (wibblethwop)))

### Barfage & Slurpage

`C-)`, `C-<right>` | paredit-forward-slurp-sexp
--- | ---

    (foo (bar |baz) quux zot)

↓

    (foo (bar |baz quux) zot)

    (a b ((c| d)) e f)

↓

    (a b ((c| d) e) f)

`C-}`, `C-<left>` | paredit-forward-barf-sexp

    (foo (bar |baz quux) zot)

↓

    (foo (bar |baz) quux zot)

`C-(`, `C-M-<left>`, `ESC C-<left>` | paredit-backward-slurp-sexp

    (foo bar (baz| quux) zot)

↓

    (foo (bar baz| quux) zot)

    (a b ((c| d)) e f)

↓

    (a (b (c| d)) e f)

`C-{`, `C-M-<right>`, `ESC C-<right>` | paredit-backward-barf-sexp

    (foo (bar baz |quux) zot)

↓

    (foo bar (baz |quux) zot)

### Miscellaneous Commands

`M-S` | paredit-split-sexp
--- | ---

    (hello| world)

↓

    (hello)| (world)

    "Hello, |world!"

↓

    "Hello, "| "world!"

`M-J` | paredit-join-sexps

    (hello)| (world)

↓

    (hello| world)

    "Hello, "| "world!"

↓

    "Hello, |world!"

    hello-
    |  world

↓

    hello-|world

`C-c C-M-l` | paredit-recenter-on-sexp

`M-q` | paredit-reindent-defun