 
 class VisualLineMode extends VisualMode
   constructor: (options = {}) ->
-    options.name = "visual/line"
+    options.name ||= "visual/line"
     super options
     unless @selection?.type == "None"
       @selectLexicalEntity "lineboundary"

      "P": -> @pasteClipboard backward
      "v": -> @launchSubMode VisualMode

      "Y": -> @enterVisualMode runMovement: "Y"
      "x": -> @enterVisualMode runMovement: "h", deleteFromDocument: true
      "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()

      # Disabled as potentially confusing.
      # # If the input is empty, then enter insert mode immediately

      #     @enterInsertMode()
      #     HUD.showForDuration "Input empty, entered insert mode directly.", 3500

  enterVisualModeForMovement: (options = {}) ->
    @launchSubMode VisualMode, extend options,
      badge: "M"
      initialCount: @countPrefix
      oneMovementOnly: true
    @countPrefix = ""

  enterInsertMode: () ->
    @launchSubMode InsertMode,
