       options =
         charsMax: 2
         autoConfirmTimeout: @getConfig("findByTwoCharsAutoConfirmTimeout")
-        onChange: (char) => @highlightTextInRow(char, @editor.getCursorBufferPosition().row)
+        onChange: (char) => @highlightTextCursorRows(char)
         onCancel: =>
           @vimState.highlightFind.clearMarkers()
           @cancelOperation()

      method = 'scanInBufferRange'

    points = []
    @editor[method] @getRegex(@input), scanRange, ({range}) ->
      points.push(range.start)

    @highlightTextInRow(@input, fromPoint.row, true)
    points[@getCount(-1)]?.translate([0, offset])

  highlightTextInRow: (text, row, confirmed) ->
    return unless @getConfig("highlightFindChar")
    scanRange = @editor.bufferRangeForBufferRow(row)
    ranges = []
    @editor.scanInBufferRange(@getRegex(text), scanRange, ({range}) -> ranges.push(range))
    @vimState.highlightFind.highlightRanges(ranges, confirmed)

  moveCursor: (cursor) ->

  isBackwards: ->
    @backwards

  execute: ->
    super

    @highlightTextCursorRows(@input, true)

  getPoint: (fromPoint) ->
    {start, end} = @editor.bufferRangeForBufferRow(fromPoint.row)

