       newRanges = for selection in @editor.getSelectionsOrderedByBufferPosition()
         @replaceNumber(selection.getBufferRange(), pattern)
     if (newRanges = _.flatten(newRanges)).length
-      @flash newRanges
+      @flash(newRanges) if @needFlash()
     else
       atom.beep()
     for selection in @editor.getSelections()

      @vimState.register.set({text, selection})

  flash: (ranges) ->
    if @flashTarget and settings.get('flashOnOperate')
      highlightRanges @editor, ranges,
        class: 'vim-mode-plus-flash'
        timeout: settings.get('flashOnOperateDuration')

  eachSelection: (fn) ->
    return unless @selectTarget()

          linewise: (type is 'linewise') or @isMode('visual', 'linewise')
          select: @selectPastedText
        @setMarkForChange(newRange)
        @flash(newRanges) if @needFlash()

    if @selectPastedText# and haveSomeSelection(@editor)
      submode = swrap.detectVisualModeSubmode(@editor)
