Existe uma moção semelhante a uma "que nunca inclui espaços em branco à esquerda?

10

Estou usando o a"movimento com bastante frequência no vim; por exemplo, usando ca"ao refatorar um pedaço de código para substituir um argumento codificado por um nome de variável. O problema dessa abordagem é que a" inclui espaços em branco à esquerda se não houver espaço em branco à direita :

Qualquer espaço em branco à direita é incluído, a menos que não exista, o espaço em branco à esquerda é incluído.

Assim, quando eu edito uma chamada de função como esta:

aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3)    #refactored

Eu tenho que reinserir manualmente o espaço antes replacedArgcomo ca"excluí-lo.

Existe algum movimento semelhante que não inclua esse espaço em branco ou há mais alguma coisa que eu possa usar em vez de ca"me impedir de digitar um espaço extra?

Notas:

  • cf"faz o que eu quero, desde que a string não contenha aspas escapadas, mas exige que eu tenha o cursor no início da string. Eu gostaria de algo que eu possa usar de qualquer lugar dentro da string e ?"<Enter>cf"é bastante difícil de digitar.
  • É menos sobre o <Space>pressionamento de tecla único e mais sobre o fato de que muitas vezes esqueci de incluir o espaço, custando-me pelo menos quatro pressionamentos de tecla extras ( bi<Space><Esc>) e interrompendo meu foco. Portanto, o comprimento do comando de substituição não é tão importante, desde que exclua apenas o texto entre os caracteres especificados e entre no modo de inserção.
l4mpi
fonte
1
Em vez de usar ?"<Enter>para procurar uma cotação para trás em uma linha, você pode usar F". Fé o mesmo que fmas pesquisas para a esquerda. As respostas abaixo parecem melhores para sua pergunta, mas Fsão um comando útil por si só.
Lithis

Respostas:

10

Há, no de Wellle targets.vim plugin. Para citar a parte relevante (na seção " Uma citação "):

a' a" a

  • Selecione uma cotação.

  • Isso substitui o objeto de texto padrão do Vim para oferecer suporte à procura.

  • Ao contrário dos objetos de texto de cotação do Vim, isso não inclui espaços em branco ao redor .

VanLaser
fonte
Parece que esse plug-in substitui a"e usa A"para o comportamento original?
Martin Tournoij
... enquanto, creio eu, também permitindo que procuram "à esquerda"
VanLaser