anchor.diff:          | "e" -> Some ForwardToEndOfWord
           | "E" -> Some BackwardToEndOfWord
           | "G" -> Some LastLine
  +        | "<C-d>" -> Some HalfPageDown
  +        | "<C-u>" -> Some HalfPageUp
           | _ -> None
   
       let (|FindChar|_|) character =
  
positive.code:             | NormalMode, [ "." ] -> [ run RepeatLastAction Nothing ]
              | NormalMode, [ "g"; "d" ] -> wait
              | NormalMode, [ ";" ] -> [ run RepeatLastFindCommand Nothing ]
              | NormalMode, [ _; _; _; _ ] -> [ run ResetKeys Nothing ]
              | _ -> []
          multiplier, action, newState
  
negative.code:     let handleKeyPress state (keyPress:KeyDescriptor) editorData =
          let newKeys =
              match state.mode, keyPress.KeyChar with
              | NormalMode, c when keyPress.ModifierKeys = ModifierKeys.Control ->
                  state.keys @ [sprintf "<C-%c>" c]
              | NormalMode, c when keyPress.KeyChar <> '\000' -> state.keys @ [c |> string]
              | InsertMode, c when keyPress.KeyChar = '\000' ->
                  match keyPress.SpecialKey with
  