Vim: selecciona / tira / elimina contenido entre paréntesis, incluidos los paréntesis


31

En vim, ¿es posible seleccionar contenido entre paréntesis, incluidos los paréntesis similares a

yi{ yi(

Pero quiero incluir los corchetes.

Respuestas:


0

Puede mover el cursor sobre un paréntesis, hacer vf{o vf(para llevarlo al modo visual y luego seleccionar todo hasta (e incluir) el paréntesis.


55
En realidad, esto terminará seleccionando solo la llave de apertura. Si estás encima de la llave de apertura, f{te moverá a la llave de apertura más cercana, en la que ya estás. Lo que probablemente quiera es lo v%que lo moverá a la llave correspondiente y se puede usar en cualquier lado.
Michael Mior

Esta no es la respuesta correcta. Ver la respuesta de @ garyjohn a continuación.
Michael Sandman

75

Sí. Usar en alugar de i, como

ya{
ya(

Ver

:help a{
:help a(

y más generalmente,

:help text-objects
:help 04.8

1
¡Esta debería ser la respuesta aceptada!
phanhuy152

3

¿Hace f{v%o f(v%hace lo que quiere? Mueve el cursor a la siguiente {o (, ingresa al modo visual y luego mueve el cursor al cierre correspondiente} o). Si ya ha superado el alcance que desea seleccionar, puede usar mayúscula F. Funciona igual de bien para saltar al cierre} o) primero, también - f}v%.

Una vez que tienes lo que quieres seleccionado, puede y, d, x, etc. El %comando funciona de varias líneas, también, para que pueda utilizar esta técnica en grandes bloques de código si lo desea (aunque f, y Fno lo hacen, por lo que tiene que empezar en la primera o la última línea).

EDITAR: Mejor respuesta, parece ser exactamente lo que estás buscando:

ya(

Sustitución de la ide su mando original con ahace exactamente lo mismo, excepto que incluye el carácter '('. Se trata de "tirar de un bloque", mientras que yi(está "tirando de una i bloque nner".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.