Ambos autopairy smartparensproporcionan funcionalidad para insertar pares de delimitadores coincidentes automáticamente.
¿Cómo se diferencian entre sí en la práctica (si es que lo hacen)? ¿Cuáles son algunos casos de uso que están cubiertos por uno de estos paquetes pero no por el otro?
smartparens
balanced-parentheses
itsjeyd
fuente
fuente

Respuestas:
smartparenstiene un superconjunto de la funcionalidad proporcionada porautopair. Además de proporcionar inserción de pares (que es lo queautopairhace), admite la manipulación de lo que llama "sexps híbridos" o sexps en modos sin lisp. Proporciona comandos para navegar, marcar, unir, dividir, absorber y más para sexps, entre otras cosas.Yo personalmente uso
smartparensy descubrí que proporciona una funcionalidad superpuesta conyasnippet- capacidad para activar la inserción de pares usando una cadenachange-inner- Seleccione la expresión dentro del par coincidentepareditpor supuestofuente
change-inner? Según su propia experiencia, ¿diría quesmartparenspodría usarse como un reemplazochange-inner?sp-kill-sexpuna especie de versión dwimchange-outercon una ligera diferencia en el lugar donde se debe colocar el punto.C-u C-u M-x sp-kill-hybrid-sexpes una versión dwim dechange-inner. Utilizo ambos paquetes para Auctex, que es mi uso principal de emacs.smartparens, diría quechange-innerpuede ser reemplazado. Perochange-inneres mucho más conveniente y no agota la memoria de trabajo (solo 2 funciones / teclas para recordar) tanto comosmartparenslo harían los equivalentes.C-u C-u M-x sp-kill-sexpparece un reemplazo decentechange-outer.sp-kill-hybrid-sexpmejor quechange inner? Me pregunto si debería cambiar.Una diferencia básica es que
smartparenspuede coincidir con los pares escapados y los signos de no puntuación, comoifyfi; También puedes personalizar tus pares.smartparenses realmente grande cuando se trabaja expresiones regulares donde hay un montón de pares escapado como\(...\), ya que tiene su propio resaltado de tales pares, por lo que trabajar consed,awk... mucho más agradable.fuente