   input: null
 
   initialize: ->
-    if not @isMode('visual')
+    unless @isMode('visual')
       @setTarget @new("MoveToRelativeLine", {min: 1})
     @focusInput(charsMax: 10)
 

      return

    @setTextToRegister @editor.getSelectedText()
    text = ''
    text += "\n" if @target.isLinewise?()
    @editor.transact =>
      for selection in @editor.getSelections()
        range = selection.insertText(text, autoIndent: true)
        selection.cursor.moveLeft() unless range.isEmpty()
    super

class Substitute extends Change

  submode: null
  supportInsertionCount: true

  observeWillDeactivateMode: ->
    disposable = @vimState.modeManager.preemptWillDeactivateMode ({mode}) =>
      return unless mode is 'insert'
      disposable.dispose()

      @vimState.mark.set('^', @editor.getCursorBufferPosition())
      if (range = getNewTextRangeFromCheckpoint(@editor, @getCheckpoint('insert')))?
        @setMarkForChange(range) # Marker can track following extra insertion incase count specified
        textByUserInput = @editor.getTextInBufferRange(range)
      else
        textByUserInput = ''
      @saveInsertedText(textByUserInput)
      @vimState.register.set('.', {text: textByUserInput})

      _.times @getInsertionCount(), =>
        text = @textByOperator + textByUserInput
        for selection in @editor.getSelections()
          selection.insertText(text, autoIndent: true)

