           column = firstMatchOnSubsequentLine[0].length + firstMatchOnSubsequentLine.index - 1
           break
         else if row is jim.adaptor.lastRow()
-          # there are no more non-blank characters, don't move the cursor
           return
 
+    # Move to the `row` and `column` that have been determined.
     jim.adaptor.moveTo row, column
 
+# Move to the next end of a **WORD**.
 map 'E', class MoveToBigWordEnd extends MoveToWordEnd
   bigWord: yes
 
 
-# move to the beginning of the next word
+# Move to the next beginning of a **word**.
 map 'w', class MoveToNextWord extends Motion
   exclusive: yes
   exec: (jim) ->

      rightOfCursor = line.substring column

      thisMatch = regex.exec rightOfCursor
      if not thisMatch or not nextMatch = regex.exec rightOfCursor
        # the next match isn't on this line, find it on the next

        if timesLeft is 0 and @operation
          # one exception: e.g. `dw` on the last word of a line just deletes the rest
          # of the word (instead of deleting to the start of the word on the next line)
          column = line.length
        else
          line = jim.adaptor.lineText ++row
          nextLineMatch = regex.exec line
          column = nextLineMatch?.index or 0
      else if timesLeft is 0 and @operation?.switchToMode is 'insert'
        # this motion is part of a Change operation, this accounts for the exception
        # that `cw` behaves like `ce` instead of `dwi`
        lastMotion = new MoveToWordEnd()
        lastMotion.bigWord = @bigWord
        lastMotion.exec jim
        @exclusive = no
        return
      else if thisMatch?.index > 0
        # We've found the beginning of the next match and it's not already
        # under the cursor. Go to it
        column += thisMatch.index
      else
        # we're on top of part of a WORD, go to the next one
        column += nextMatch.index

      jim.adaptor.moveTo row, column

map 'W', class MoveToNextBigWord extends MoveToNextWord

    rightOfCursor = line.substring column

    matchOnLine = regex.exec rightOfCursor

    # If we're on top of the last char of a word we want to match the next one.
    if matchOnLine?[0].length <= 1
      matchOnLine = regex.exec rightOfCursor

    # If there's a match on the current line, go to the end of the word that's
    # been matched.
    if matchOnLine
      column += matchOnLine[0].length + matchOnLine.index - 1

    # If there's no match on the current line go end of the next word, whatever
    # line that may be on.  If there are no more non-blank characters, don't
    # move the cursor.
    else
      loop
        line = jim.adaptor.lineText ++row
        firstMatchOnSubsequentLine = regex.exec line
