       when "Caret"
         # Try to start with a visible selection.
         @moveInDirection(forward) or @moveInDirection backward unless options.underEditMode
+        @scrollIntoView() if @selection.type == "Range"
 
     defaults =
       name: "visual"

    @push
      _name: "#{@id}/keypress"
      keypress: (event) =>
        unless event.metaKey or event.ctrlKey or event.altKey
          @keyQueue += String.fromCharCode event.charCode
          # We allow at most three characters for a command or movement mapping.


      "Y": -> @enterVisualMode runMovement: "Y"
      "y": => @enterVisualMode yYanksLine: true
      "d": => @enterVisualMode deleteFromDocument: true, dYanksLine: true
      "c": => @enterVisualMode deleteFromDocument: true, onYank: enterInsertMode

      "D": => @enterVisualMode runMovement: "$", deleteFromDocument: true
      "C": => @enterVisualMode runMovement: "$", deleteFromDocument: true, onYank: enterInsertMode
