¿Cómo puedo llegar electric-pair-modea no emparejar comillas (simples o dobles)? Todavía quiero que empareje todo lo demás (corchetes, llaves, etc.), solo que no comillas.
7
¿Cómo puedo llegar electric-pair-modea no emparejar comillas (simples o dobles)? Todavía quiero que empareje todo lo demás (corchetes, llaves, etc.), solo que no comillas.
electric-pair-inhibit-predicate?electric-pair-inhibit-predicatevariable? Es desconocido para mis emacs 24.3.1elec-pair.el.electric-pair-mode,electric-pair-pairsyelectric-pair-text-pairsse utiliza para la personalización, peroelectric-pair-text-syntax-tabletiene prioridad. Un gancho que establece localmente estas variables debería ser suficiente para que esto funcione. Comprobaré si ese es el caso más tarde y publicaré una respuesta.Respuestas:
Agregue lo siguiente a su archivo de inicio de emacs:
Referencia de mi blog: https://www.topbug.net/blog/2016/09/29/emacs-disable-certain-pairs-for-electric-pair-mode/
fuente
emacs -Q(emacs comenzó con la opción de línea de comando-Q). Quizás algún otro paquete interfiere. El código funciona para mí con GNU Emacs 25.3.1 (x86_64-unknown-cygwin, GTK + Versión 3.22.20) de 2017-09-11.?\"termina imprimiéndose como34, es porque el"carácter es el mismo que el entero34. En Emacs, los caracteres son enteros positivos de cierto rango.GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu) of 2016-01-13.Parece que no puedes. Las diversas personalizaciones solo le permiten agregar pares.
Si está dispuesto a usar un paquete diferente para hacer su emparejamiento, puede probar smartparens . Puede establecer comillas para que no se emparejen de la siguiente manera:
fuente
electric-pairse respetará el cierre existente abrazadera. Ensmartparens, siempre se crea una nueva llave de cierre a menos que esté en modo estricto (que tiene otros efectos secundarios fuertes). Por ejemplo:|)->(|)enelectric-pairversus|)->(|))en smartparens. El símbolo de la tubería|representa el cursor.electric-pairy tiene una llave de cierre cuatro líneas hacia abajo con solo un espacio en blanco entre su cursor y la llave de cierre y escribe esa llave de cierre, reemplazará la llave de abajo, haciendo que quede al ras con el cursor. Eso no sucede asmartparensmenos que esté en modo estricto. Este es un buen acceso directo al editar algo como lisp (o incluso algo como Python, sinceramente) porque reduce la sobrecarga cognitiva de formatear las expresiones s. Sin embargo, puede hacer que los frenos de equilibrio sean más confusos.electric-pairtambién hereda sus pares de la tabla de sintaxis del modo actual, mientrassmartparensque hay que programar explícitamente en cada par. Aunque podría estar equivocado sobre eso.Actualización: la respuesta de @ xuhdev es preferible ya que no interfiere con el código de Emacs.
Puede valer la pena una solicitud de función que tenga que personalizar. Por el momento, parece trivial modificar el código en cuestión.
Luego cargue su propia variante de la función de par eléctrico posterior a la inserción automática
Abra elec-pair.el y copie desde allí
Luego busque en el cuerpo cualquier
y eliminar el
?\"de allí, es decirpero no eliminar? \ "en otros lugares (!)
y recargar, es decir, evaluar la función modificada.
Para recargar en la próxima sesión, colóquelo en un archivo "my-changed-stuff.el" y cárguelo desde su archivo init.
fuente