In vim, is it possible to select content between the brackets inclusive of the brackets similar to

yi{ yi(

But I want to include the brackets

link|improve this question

50% accept rate
feedback

3 Answers

up vote 1 down vote accepted

You can move the cursor over one bracket, and do vf{ or vf( to bring you into visual mode and then select everything until (and including) the bracket.

link|improve this answer
feedback

Yes. Use a instead of i, as

ya{
ya(

See

:help a{
:help a(

and more generally,

:help text-objects
:help 04.8
link|improve this answer
feedback

Does f{v% or f(v% do what you want? It moves your cursor to the next { or (, enters you into visual mode, and then moves your cursor to the corresponding closing } or ). If you're already past the scope you want to select, you can use a capital F. Works just as well to jump to the closing } or ) first, too -- f}v%.

Once you have what you want selected, you can y, d, x, etc. it. The % command works multi-line, too, so you can use this technique on large blocks of code if you wish (although f and F do not, so you have to start on either the first or last line).

EDIT: Better answer, seems to be exactly what you're looking for:

ya(

Replacing the i in your original command with a does exactly the same thing, except that it includes the '(' character. This is "yanking a block", whereas yi( is "yanking an inner block".

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.