When you have a block of text delimitated by brackets or quotes, you can use
ci"
da(
and so on to change that block of text. But is there a way to change or delete from the cursor to the end of that block (in the way cw
does it for words)?
Use ct)
to “c
orrect t
ill closing parenthesis”.
Vim motions with t, f, T and F are very, very useful. :help t
, :help f
.
Update: If there are nested parentheses where you are:
vi)o``
will select till closing parenthese (will select inside parentheses, then switch to other end of the selection and move it to where you were (``
)vi)``
will select till opening parenthese (same mechanism, but without needing o
)The first one works only because when you are doing vi)
a cursor jump is remembered, and ``
goes to previous cursor location. It seems that o
in visual mode does not affect this.
Benoit's answer of using t f T
and F
is the best way that I know of. When it comes to deleting to the end of a parenthesised block you can use ])
. This will take into account any nested parenthesis. There is also a corresponding [(
, ]}
and [{
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With