Respuestas:
Use ci"
, lo que significa: cambiar lo que hay dentro de las comillas dobles.
También puede manipular otros objetos de texto de manera similar, por ejemplo:
ci'
- cambiar dentro de las comillas simplesciw
- cambiar dentro de una palabra ci(
- cambiar entre paréntesisdit
- eliminar dentro de una etiqueta HTML, etc.Más sobre diferentes objetos de texto vim aquí .
F"ci"
.
Puede seleccionar entre comillas y luego borrar ( d
), cambiar ( c
) etc. usando
vi"
Del mismo modo, puede sustituir llaves, corchetes, elementos XML, etc. así:
vi(
vi{
vit
o simplemente cambiar / eliminar, hacer lo correspondiente di"
, ci"
etc. Sustituir a
por i
abarcará los elementos circundantes (por lo que marca o cambia los corchetes y el contenido, por ejemplo)
Hice un complemento vim-textobj-quotes
: https://github.com/beloglazov/vim-textobj-quotes
Proporciona objetos de texto para los pares más cercanos de citas de cualquier tipo y admite citas que abarcan varias líneas. Usar solo iq
o aq
le permite operar en el contenido de comillas simples ('), dobles (") o posteriores (`) que actualmente rodean el cursor, están delante del cursor o detrás (en ese orden de preferencia) En otras palabras, salta hacia adelante o hacia atrás cuando es necesario para llegar a las comillas.
Es más fácil de entender mirando ejemplos (el cursor se muestra con |
):
foo '1, |2, 3' bar
:; después de presionar diq
:foo '|' bar
foo| '1, 2, 3' bar
:; después de presionar diq
:foo '|' bar
foo '1, 2, 3' |bar
:; después de presionar diq
:foo '|' bar
foo '1, |2, 3' bar
:; después de presionar daq
:foo | bar
foo| '1, 2, 3' bar
:; después de presionar daq
:foo | bar
foo '1, 2, 3' |bar
:; después de presionar daq
:foo | bar
Los ejemplos anteriores se dan para comillas simples, el complemento funciona exactamente de la misma manera para comillas dobles (") y traseras (`).
También se puede utilizar cualquier otro operador: ciq
, diq
, yiq
, viq
, etc.
Por favor, eche un vistazo a la página de github vinculada arriba para obtener más detalles.
Desde ya dentro de las comillas puedes hacer
di"
Léelo como borrar dentro "
Además de la respuesta de Brian, también puede p
(pegar) y y
(tirar) el nuevo valor, por lo que si desea reemplazar el valor entre comillas con otro valor, puede hacer yi"
en la selección que desea copiar, vi"
para seleccionar el área que desea reemplazar y luego simplemente p
reemplazar correctamente el valor.
La respuesta elegida es adecuada SOLO para ViM pero NO para vi. La pregunta también es inexacta porque el autor no mencionó cuál es la posición inicial del cursor. Si asumimos que el cursor está dentro de las comillas dobles, entonces para vi la respuesta será:
T"ct"
Dónde:
T ": retrocede justo después del carácter"
c - comando de cambio
t ": proporciona la posición final para el comando c, donde debería dejar de borrar caracteres, en otras palabras, el rango para cambiar
vim
, pero NOvi
. (No estoy seguro)