Let's say I have the string
hello how-ar[]e-you doing
where []
is my cursor. How would I efficiently select how-are-you
such that
hello [how-are-you] doing
So far what I could come up with is Bvt<space>
Vim has the notion of "word" and "WORD", where a "word" is a sequence of characters in the 'iskeyword'
option and a "WORD" is a sequence of non-whitespace characters.
Thus…
w
motion ("word") would jump to the -
after are
because -
is not part of 'iskeyword'
,W
motion ("WORD") would jump to doing
,iw
text-object ("inner word") would cover are
,iW
text-object ("inner WORD") would cover how-are-you
,What you are looking for is the iW
text-object:
viW
:help navigation
will blow your mind.
besides the other answers (using Word instead of word) if you want this to be the default behaviour (such that -
will be considered a word character - not a word delimiter) you may add this to your vimrc
set iskeyword+="-"
after that viw
will give you the expected result.
type :h iskeyword
for more info about it
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