           @repeatInsert(s, text)
           moveCursorLeft(s.cursor)
     else
+      if @getInsertionCount() > 0
+        range = getNewTextRangeFromCheckpoint(@editor, @getCheckpoint('undo'))
+        @textByOperator = if range? then @editor.getTextInBufferRange(range) else ''
       @setCheckpoint('insert')
       @vimState.activate('insert', @submode)
 

  # called when repeated
  repeatInsert: (selection, text) ->
    selection.insertText(text, autoIndent: true)

  execute: ->
    if @isRepeated()

  @extend()
  target: 'MoveToNextFoldStart'

class InsertAboveWithNewline extends ActivateInsertMode
  @extend()
  execute: ->
