He definido asignaciones en mi vimrc
para ingresar automáticamente paréntesis y llaves cerca cuando ingreso las iniciales con inoremap ( ()<esc>i
.
Me gustaría hacer lo mismo para "
y '
, pero solo cuando el cursor actualmente no está dentro de una cadena, ya que dentro de una cadena '
es probablemente un apóstrofe en lugar de un delimitador de cadena. ¿Cómo puedo hacer esto?
Qtx
?Como se ha dicho, deberá verificar el contexto de sintaxis. La antigua API lh-brackets proporciona funciones para ese fin:
Map*Context()
funciones . Desde entonces, se han encapsulado las definiciones de corchetes en las:Bracket
que se tendrá en cuenta el contexto (cadenas o comentarios).Por defecto, las asignaciones de contexto se definen para todos los pares de paréntesis habituales como este:
fuente