If I have a shell script with code like
...
chars+=('5')
chars+=('6')
...
chars+=('%')
chars+=('&')
...
and iskeyword
is defined as
iskeyword=@,48-57,_,192-255,-
This definition indicates to me Vim will consider a continuous sequence of characters from these iskeywords
characters to be a word.
So if I am here
chars+=('5')
^ (cursor)
chars+=('6')
and press w
chars+=('5')
^ (cursor)
chars+=('6')
I end up on +
which is not the beginning of a word as defined by iskeyword character set. Why? Does Vim stop at the beginning of a group of these non-iskeyword chars because it considers you might be interested in doing something with them?
In this case, wouldn't it be better to say w
takes you both to the beginning of the next "word" OR the beginning of the next "anti-word" (continuous sequence of characters NOT defined in iskeyword)?
Because code contains a lot of characters not in iskeyword
, I am interested in knowing the rules for "w" word motion regarding these non-word characters.