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.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityYou 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.
f{
will move you to the closest opening brace, which you're already on. What you probably want is v%
which will move you to the matching brace and can be used on either side.
Nov 23, 2014 at 5:32
Yes. Use a
instead of i
, as
ya{
ya(
See
:help a{
:help a(
and more generally,
:help text-objects
:help 04.8
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".
One another way would be by following the below steps:
(
or braces {
esc
key and press v
to enter into the visual mode%
symbol (this will select the whole text between parens inclusive)y
to yank (i.e. copy) the text (press d
if you rather want to cut it.)Then, you can move the cursor wherever you want the new text to be pasted and then press p
for pasting the text there.
I use vi{
or va{
to select the content between brackets.
The advantage is that you will be able to see the selection before you yank it.