When I first started with Paredit I struggled to absorb the functions and key bindings from the manual and cheat sheets well enough so that I could use them while writing code. I know that seeing them in action would have helped me a lot, so I made this and put it out there, I really hope that it can help other people to start using more of Paredit.
(define-key paredit-mode-map (kbd "<prior>") 'paredit-forward-slurp-sexp)
(define-key paredit-mode-map (kbd "<next>") 'paredit-backward-slurp-sexp)
(define-key paredit-mode-map (kbd "<home>") 'paredit-backward-barf-sexp)
(define-key paredit-mode-map (kbd "<end>") 'paredit-forward-barf-sexp)))
If someone else has more time than I do please run with the idea. I'll help test it!
I love the animated tutorial, though. Something along those lines would be a great way to augment smartparens' docs.
Smartparens is actively maintained, which for me is an attractive "feature" when evaluating any tool that is to find a prominent place in my workflow. Also, its extensible design allows it to be used with languages and data formats other than lisp/scheme dialects, so it has a broader reach than paredit.
As for wrangling sexprs in, say, Clojure, I think paredit and smartparens are one equal footing. I still stand by my original statement inasmuch as I think smartparens is a worthy successor to paredit.
Have you tried it? If so, what do you think of it with respect to paredit?
(I still use paredit for lisp languages though, and I can't remember if there was a reason for that or it's just inertia/conservatism).
time for a new standard ? #927
Also, I've found with paredit that it keeps the brackets balanced until I paste in a segment of lisp with unmatched brackets. Then it gets in a bind and I need to either disable paredit to manually fix it, or go into overwrite mode to fix it. Is there any graceful way to deal with bad bracket-unmatched code pasting in paredit?
As for the unbalanced delimiters, I just M-x paredit-mode, turn it off, make my fixes (which is easy because rainbow delimiters shows me exactly which delimiter is out of place), and then turn it back on again.
Quoted insert is generally useful when you want to enter a specific character that is bound to something other than self-insert, such as a literal newline in a regex pattern.