anchor.diff:                  ClipboardActions.Cut textEditorData
               | Visual -> textEditorData.SetSelection(start, finish)
               | Undo -> MiscActions.Undo textEditorData
  -
               | InsertLineBelow -> MiscActions.InsertNewLineAtEnd textEditorData
               | InsertLineAbove -> textEditorData.Caret.Column <- 1; MiscActions.InsertNewLine textEditorData; CaretMoveActions.Up textEditorData
               | _ -> ()
  
positive.code:         let action =
              match state.mode, keyList with
              | InsertMode, [ "<esc>" ] -> [ run (SwitchMode NormalMode) Nothing ]
              | NormalMode, [ Movement m ] -> [ run Move m ]
              | NormalMode, [ FindChar m; c ] -> [ run Move (m c) ]
              | NormalMode, [ ";" ] -> match state.findCharCommand with Some command -> [ command ] | None -> []
              | NormalMode, [ "c"; Movement m ] -> [ run Delete m; run (SwitchMode InsertMode) Nothing ]
  
negative.code:             | NormalMode, c when keyPress.ModifierKeys = ModifierKeys.Control ->
                  state.keys @ [sprintf "<C-%c>" c]
              | NormalMode, c when keyPress.KeyChar <> '\000' -> state.keys @ [c |> string]
              | VisualMode, c when keyPress.KeyChar <> '\000' -> state.keys @ [c |> string]
              | VisualMode, c | InsertMode, c ->
                  match keyPress.SpecialKey with
                  | SpecialKey.Escape -> state.keys @ ["<esc>"]
                  | _ -> state.keys
  