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.
No vim, é possível selecionar o conteúdo entre parênteses, incluindo os parênteses semelhantes a
yi{ yi(
Mas quero incluir os colchetes
Sim. Use a
em vez de i
, como
ya{
ya(
Veja
:help a{
:help a(
e mais geralmente,
:help text-objects
:help 04.8
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 ".
Tags vim