 stateManager = new StateManager()
 # Move
 # -------------------------
-class MoveSelectedTextBase extends Operator
+class MoveOrDuplicateSelectedText extends Operator
   @registerCommand: ->
     commandSubscriptions.add(super)
 
   @commandScope: 'atom-text-editor.vim-mode-plus.visual-mode'
   @commandPrefix: 'vim-mode-plus-user'
   flashTarget: false
+
   isOverwriteMode: ->
     atom.config.get('vim-mode-plus-move-selected-text.overwrite')
 

    @editor.transact(fn)
    stateManager.groupChanges(@editor)

class MoveSelectedTextUp extends MoveSelectedTextBase
  @registerCommand()
  direction: 'up'


    rangeToSelect = getBufferRangeForRowRange(@editor, [startRow, endRow])
    selection.setBufferRange(rangeToSelect)

class MoveSelectedTextLeft extends MoveSelectedText
  @registerCommand()

  execute: ->
    @withUndoJoin =>
      for selection in @editor.getSelections()
