Treat words with dash as a word in Vim

December 26, 2017

  • vim

Originally posted by me on Hashrocket TIL

By default vim treats two words connected with an underscore e.g. search_tag as a vim word text-object.

This is very useful because you can then use motions and commands on them such as daw to delete a word, or ciw to change inside the word.

That is not the case for dash separated words e.g. search-tag. These types of words are very common in CSS class names and HTML IDs.

To make vim treat dash separated words as a word text-object simply add the following to your .vimrc:

set iskeyword+=-

And source it again.


Written by Dorian Karter, a Sr. Software Engineer
Github | Twitter

© 2021, Dorian Karter