anchor.diff:                  editor.SelectionMode <- if mode = VisualBlockMode then SelectionMode.Block else SelectionMode.Normal
                   editor.Caret.Mode <- CaretMode.Block
                   editor.Caret.PreserveSelection <- true
  -                let start, finish = VimHelpers.getRange editor command.textObject
  +                let start, finish = VimHelpers.getRange vimState editor command.textObject
                   let newState = { vimState with mode = mode; visualStartOffset = editor.Caret.Offset }
                   setSelection newState editor command start finish
                   newState
  
positive.code:     | HalfPageDown
      | CurrentLocation
      | Selection
  
  type VimAction = {
      repeat: int
  
negative.code: 
      let runCommand vimState editor command =
          for i in [1..command.repeat] do
              let start, finish = VimHelpers.getRange vimState editor command.textObject
              match command.commandType with
              | Move -> 
                  editor.Caret.Offset <- finish
  