How do I get Vim to treat underscores in a string as a word break?

Tag: vim Author: michelle515151 Date: 2009-08-02

I would like Vim to treat underscores in a string as word-breaks, just like a spaces. For example, if I have:

sub foo_bar {
    return;
}

With the cursor starting at the far left of the first line, (on the 's' of 'sub'), hitting 'w' will place the cursor on the 'f' in 'foo', a second press of 'w' takes me to the curly, and a third hops down to the 'r' of 'return'. I want that second press of 'w' to take me to the 'b' in 'bar'.

Best Answer

Install the camelcasemotion plugin and see the example near the bottom of the linked page, which shows how to map the w key to use CamelCase or underscored_words.

Other Answer1

:set iskeyword-=_

comments:

That doesn't exactly work as the cursor lands in the _ first, and then on the 2nd 'w' press goes to b.
After having looked around the vim docs and google, I actually don't think there's another way. Perhaps someone can prove me wrong.