Vários movimentos:%
O %comando salta para a correspondência do item sob o cursor. Posicione o cursor no ponto de abertura (ou fechamento) e use y%para puxar ou d%excluir tudo, desde o cursor até o ponto correspondente.
Isso funciona porque %é um "comando de movimento", portanto pode ser usado em qualquer lugar que o vim espere esse comando. De :help y:
["x]y{motion} Yank {motion} text [into register x]. When no
characters are to be yanked (e.g., "y0" in column 1),
this is an error when 'cpoptions' includes the 'E'
flag.
Por padrão, "item" inclui colchetes, chaves, parênteses, comentários no estilo C e várias instruções de pré-compilador ( #ifdef, etc.).
Existe um plugin para "correspondência estendida%" que você pode encontrar na página inicial do Vim .
Você pode ler a documentação %e os comandos de movimento relacionados, entrando :help various-motionsno modo de comando.
seleção de objeto
Há outro conjunto de comandos de movimento que você pode usar no modo Visual para selecionar vários objetos de texto.
Para resolver seu problema específico, faça o seguinte:
printf("%3.0f\t%6.1f\n", fahr, ((5.0/9.0) * (fahr-32)));
^
Digamos que seu cursor esteja posicionado em ^. Digite a seguinte sequência para selecionar a peça que você está procurando:
v2a)
Primeiro ventra no modo Visual, depois você especifica que deseja 2aumentar os níveis de parens. Finalmente, a)seleciona "um bloco". Depois disso, você pode usar dou xexcluir, etc.
Se você não deseja incluir as parênteses externas, pode usar "bloco interno":
v2i)
Veja :help object-selecta lista completa de comandos relacionados.