           @copy @selection.toString()
           @selection.deleteFromDocument()
 
+      # If the input is empty, then enter insert mode immediately
+      unless @element.isContentEditable
+        if @element.value.trim() == ""
+          enterInsertMode()
+          HUD.showForDuration "Input empty, entered insert mode directly.", 3500
+
   enterVisualMode: (options = {}) ->
     defaults =
       underEditMode: true

      which = if direction == forward then "start" else "end"
      @selection.extend original["#{which}Container"], original["#{which}Offset"]

  # Run a movement command.
  runMovement: (movement) ->
    @selection.modify @alterMethod, movement.split(" ")...


  establishInitialSelection: ->
    nodes = document.createTreeWalker document.body, NodeFilter.SHOW_TEXT
    while node = nodes.nextNode()
      # Try not to pick really small nodes.  They're likely to be part of a banner.
      if node.nodeType == 3 and 50 <= node.data.trim().length
        element = node.parentElement
        if DomUtils.getVisibleClientRect(element) and not DomUtils.isEditable element
