title: In vim, how do I make a custom word boundary motion?
body: <p>As I understand, <code>w</code> recognizes word boundaries by splitting text into 3 groups:</p>
  
  <p>1) characters that are specified in the <code>iskeyword</code> setting (alphabetic, digits, and underscore)</p>
  
  <p>2) other non-printable characters (symbols)</p>
  
  <p>3) whitespace characters</p>
  
  <p>Each time you press <code>w</code> it goes to the next group 1 or group 2.  I'd like to customize it so it only goes to the next group 1, jumping over "symbol words".</p>
  
  <p>What almost works is this:</p>
  
  <p><code>nnoremap w /\k\+&lt;CR&gt;</code></p>
  
  <p>which uses the <code>iskeyword</code> character class <code>\k</code>.  But it is ugly because it simulates me performing a search, which changes my highlighting, clutters my search history, and who knows what else.  Is there way to make this work "cleanly" like the <code>w</code> command normally is?</p>