 
   moveCharacterwise: (selection) ->
     reversed = selection.isReversed()
-    translation = @getRangeTranslationSpec()
+
+    translation = switch @direction
+      when 'right' then [[0, 0], [0, +1]]
+      when 'left' then [[0, -1], [0, 0]]
+
     swrap(selection).translate(translation)
     newText = @rotate(selection.getText())
     range = selection.insertText(newText)

      @initOverwrittenByEditor()
      @editor.transact =>
        @countTimes =>
          @_takenIndex = 0
          for selection in selections
            @mutate(selection) if @isMovable(selection)

  initOverwrittenByEditor: ->

          @editor.setTextInBufferRange([eof, eof], "\n")
        true

  # Characterwise
  # -------------------------
  moveCharacterwise: (selection) ->
    reversed = selection.isReversed()

    translation = switch @direction
      when 'up' then [[-1, 0], [-1, 0]]
      when 'down' then [[1, 0], [1, 0]]

    fromRange = selection.getBufferRange()
    toRange = fromRange.translate(translation...)
    @swapTextInRange(fromRange, toRange)
