anchor.diff:              | VisualModes, [ "x" ] -> [ run Delete Selection; run (SwitchMode NormalMode) Nothing ]
               | VisualModes, [ "d" ] -> [ run Delete Selection; run (SwitchMode NormalMode) Nothing ]
               | VisualModes, [ "c" ] -> [ run Delete Selection; run (SwitchMode InsertMode) Nothing ]
  +            | VisualModes, [ "y" ] -> [ run Yank Selection; run (SwitchMode NormalMode) Nothing ]
               | _         , _ :: _ :: _ :: _ :: t -> [ run ResetKeys Nothing ]
               | _ -> []
           multiplier, action, newState
  
positive.code:                 editor.SetSelection(start, finish)
                  ClipboardActions.Copy editor
                  editor.ClearSelection()
              | Visual -> editor.SetSelection(start, finish)
              | Undo -> MiscActions.Undo editor
              | InsertLineBelow -> MiscActions.InsertNewLineAtEnd editor
  
negative.code:             | NormalMode, [ "C" ] -> [ run Delete EndOfLine; run (SwitchMode InsertMode) Nothing ]
              | NormalMode, [ "D" ] -> [ run Delete EndOfLine ]
              | NormalMode, [ "x" ] -> [ run Delete CurrentLocation ]
              | NormalMode, [ "p" ] -> [ run (Put After) Nothing ]
              | NormalMode, [ "P" ] -> [ run (Put Before) Nothing ]
              | NormalMode, [ Action action; FindChar m; c ] -> [ run action (m c) ]
              | NormalMode, [ Action action; "i"; BlockDelimiter c ] -> [ run action (InnerBlock c) ]
              | NormalMode, [ Action action; "a"; BlockDelimiter c ] -> [ run action (ABlock c) ]
  