Respostas:
Use ci", que significa: altere o que está dentro das aspas duplas.
Você também pode manipular outros objetos de texto de maneira semelhante, por exemplo:
ci' - mudança entre aspas simplesciw - mudança dentro de uma palavra ci( - mudar entre parêntesesdit - excluir dentro de uma tag HTML, etc.Mais sobre os diferentes objetos de texto vim aqui .
F"ci".
Você pode selecionar entre aspas e excluir ( d), alterar ( c) etc. usando
vi"
Da mesma forma, você pode substituir colchetes, colchetes, elementos XML etc., assim:
vi(
vi{
vit
ou simplesmente alterar / excluir, fazer o correspondente di", ci"etc. Substituir apor iirá englobar os elementos circundantes (então você marca ou altera os colchetes e o conteúdo, por exemplo)
Fiz um plugin vim-textobj-quotes: https://github.com/beloglazov/vim-textobj-quotes
Ele fornece objetos de texto para os pares mais próximos de citações de qualquer tipo e oferece suporte a citações que abrangem várias linhas. Usar apenas iqou aqpermite que você opere no conteúdo das aspas simples ('), duplas (") ou traseiras (`) que atualmente cercam o cursor, estão na frente do cursor ou atrás (nessa ordem de preferência) Em outras palavras, ele salta para frente ou para trás quando necessário para alcançar as cotações.
É mais fácil de entender olhando para os exemplos (o cursor é mostrado com |):
foo '1, |2, 3' bar:; depois de pressionar diq:foo '|' barfoo| '1, 2, 3' bar:; depois de pressionar diq:foo '|' barfoo '1, 2, 3' |bar:; depois de pressionar diq:foo '|' barfoo '1, |2, 3' bar:; depois de pressionar daq:foo | barfoo| '1, 2, 3' bar:; depois de pressionar daq:foo | barfoo '1, 2, 3' |bar:; depois de pressionar daq:foo | barOs exemplos acima são dados para aspas simples, o plugin funciona exatamente da mesma maneira para aspas duplas (") e back (`).
Você também pode usar quaisquer outros operadores: ciq, diq, yiq, viq, etc.
Por favor, dê uma olhada na página do github no link acima para mais detalhes.
Já dentro das citações você pode fazer
di"
Leia como deletar dentro de "
Além da resposta de Brian, você também pode p(colar) e y(arrancar) o novo valor, então, se quiser substituir o valor entre aspas por outro valor, você pode fazer yi"na seleção que deseja copiar, vi"para selecionar a área que você deseja substituir e, em seguida, apenas psubstituir o valor corretamente.
A resposta escolhida é adequada SOMENTE para ViM, mas NÃO para vi. A pergunta também é imprecisa porque o autor não mencionou qual é a posição inicial do cursor. Se assumirmos que o cursor está entre as aspas duplas, para vi a resposta será:
T"ct"
Onde:
T "- volte logo após o caractere"
c - comando de mudança
t "- fornece a posição final para o comando c, onde ele deve parar de apagar os caracteres, em outras palavras, o intervalo a ser alterado
vim, mas NÃOvi. (Não tenho certeza)