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 a
por i
irá 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 iq
ou aq
permite 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 '|' bar
foo| '1, 2, 3' bar
:; depois de pressionar diq
:foo '|' bar
foo '1, 2, 3' |bar
:; depois de pressionar diq
:foo '|' bar
foo '1, |2, 3' bar
:; depois de pressionar daq
:foo | bar
foo| '1, 2, 3' bar
:; depois de pressionar daq
:foo | bar
foo '1, 2, 3' |bar
:; depois de pressionar daq
:foo | bar
Os 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 p
substituir 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)