para - vim plugins 2018
En vim, ¿hay un complemento para usar% para que coincida con la comilla doble correspondiente(")? (5)
La tecla % es una de las mejores características de vim: te permite saltar de {
a }
, [
a ]
, y así sucesivamente.
Sin embargo, no funciona de manera predeterminada con comillas: "
o ''
, probablemente porque las comillas de apertura y cierre son del mismo carácter, lo que dificulta la implementación.
Pensando un poco más sobre el problema, estoy convencido de que debe implementarse, contando si el número de citas anteriores es impar o par y saltando a la cita anterior o siguiente, en consecuencia.
Antes de intentar implementarlo yo mismo, ¿me gustaría saber si alguien ya lo ha hecho?
Dependiendo de su razón para necesitar esto, puede haber una mejor manera de lograr lo que está buscando. Por ejemplo, si tiene el siguiente código:
foo(bar, "baz quux")
^
y su cursor pasa a estar en el ^
, y desea reemplazar todo lo que está dentro de las comillas con algo más, use ci"
. Esto usa los objetos de texto de Vim " para cambiar ( c
) todo dentro ( i
) las comillas ( "
) y te pone en modo de inserción así:
foo(bar, "")
^
Luego puede comenzar a escribir el texto de reemplazo. Hay muchos otros objetos de texto que son realmente útiles para este tipo de atajo. Aprende (y usa) un nuevo comando Vim por semana, ¡y serás un experto en muy poco tiempo!
Encontré esta técnica muy útil para ir al principio / final de una cadena muy larga.
- cuando el cursor está dentro de la cadena, seleccione visualmente toda la cadena usando
vi"
ovi''
- vaya al inicio / final de la cadena presionando
o
- presione escape para salir del modo de selección visual
esto realmente toma el cursor al lado del carácter de comillas de inicio / final, pero aún así se siente bastante útil.
Editar
Añadiendo el excelente comentario de Stefan aquí, que es una mejor opción para cualquiera que se pierda el comentario.
Si usa va "(y va ''), entonces también seleccionará visualmente las comillas.
- Stefan van den Akker
La respuesta de Greg fue muy útil, pero también me gustan los comandos ''f'' y ''F'' que mueven el cursor hacia adelante y hacia atrás al personaje que presionas después del comando.
Así que presione f "para pasar al siguiente" carácter y F "para pasar al anterior.
Me gustaría ampliar la respuesta de Greg e introducir el complemento surround.vim .
Suponga que, en lugar de editar el contenido de sus citas, quiere modificar los "
propios "
caracteres. Digamos que quiere cambiar de comillas dobles a comillas simples.
foo(bar, "baz quux")
^
El complemento surround le permite cambiar esto a
foo(bar, ''baz quux'')
^
simplemente ejecutando lo siguiente: cs"''
(que dice:" cambie las comillas dobles que rodean a las comillas simples ").
También puede eliminar las comillas simplemente ejecutando: ds"
(que dice:" eliminar las comillas dobles que lo rodean).
Sé que esta pregunta es antigua pero aquí hay un complemento para usar% para que coincida con la comilla doble correspondiente: