         overwrittenArea.unshift(replacedText)
         overwrittenArea.pop()
       when 'right'
-        [rest..., overwritten] = overwrittenArea[@_takenIndex]
-        overwrittenArea[@_takenIndex] = replacedText + rest.join('')
-        @_takenIndex++
+        [rest..., overwritten] = overwrittenArea[@selectionIndex]
+        overwrittenArea[@selectionIndex] = replacedText + rest.join('')
         overwritten
       when 'left'
-        [overwritten, rest...] = overwrittenArea[@_takenIndex]
-        overwrittenArea[@_takenIndex] = rest.join('') + replacedText
-        @_takenIndex++
+        [overwritten, rest...] = overwrittenArea[@selectionIndex]
+        overwrittenArea[@selectionIndex] = rest.join('') + replacedText
         overwritten
 
   isLinewise: ->
     switch @vimState.submode
-      when 'linewise' then true
+      when 'linewise'
+        true
       when 'characterwise', 'blockwise'
         @editor.getSelections().some (selection) ->
           not swrap(selection).isSingleRow()


  moveCharacterwise: (selection) ->
    reversed = selection.isReversed()
    translation = @getRangeTranslationSpec()
    swrap(selection).translate(translation)
    newText = @rotate(selection.getText())
    range = selection.insertText(newText)

    reversed = selection.isReversed()

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

    swrap(selection).translate(translation)

    lineTexts = swrap(selection).lineTextForBufferRows()
