Vim - selecione / yank / delete content entre parênteses incluindo backets

26

No vim, é possível selecionar o conteúdo entre parênteses, incluindo os parênteses semelhantes a

yi{ yi(

Mas quero incluir os colchetes

    
por Hamish 11.05.2011 / 01:22

3 respostas

0

Você pode mover o cursor sobre um colchete e usar vf{ ou vf( para entrar no modo visual e selecionar tudo até (e incluindo) o colchete.

    
por 11.05.2011 / 01:23
64

Sim. Use a em vez de i , como

ya{
ya(

Veja

:help a{
:help a(

e mais geralmente,

:help text-objects
:help 04.8
    
por 11.05.2011 / 01:57
3

O f{v% ou f(v% faz o que você deseja? Move o cursor para o próximo {ou (, entra no modo visual e, em seguida, move o cursor para o fechamento correspondente} ou). Se você já ultrapassou o escopo que deseja selecionar, pode usar um capital F . Funciona tão bem para pular para o fechamento} ou) primeiro, também - f}v% .

Depois de selecionar o que você deseja, você pode y , d , x , etc. O comando % também funciona com várias linhas, portanto, você pode usar essa técnica em grandes blocos de código, se desejar (embora f e F não o façam, portanto, é necessário iniciar a primeira ou a última linha ).

EDITAR: Resposta melhor, parece ser exatamente o que você está procurando:

ya(

A substituição de i em seu comando original por a faz exatamente a mesma coisa, exceto que inclui o caractere '('. Isso é "yanking a bloco ", enquanto yi( é" puxando um i nner block ".

    
por 11.05.2011 / 01:46

Tags