message: Fix `I`, `c` and `s` in Visual Block with multiple cursors
diff: @@ -26,7 +26,6 @@ import { isTextTransformation, Transformation } from './../../transformations/tr
  import { RegisterAction, BaseCommand } from './../base';
  import { commandLine } from './../../cmd_line/commandLine';
  import * as operator from './../operator';
  -import { Jump } from '../../jumps/jump';
  import { StatusBar } from '../../statusBar';
  import { reportFileInfo } from '../../util/statusBarTextUtils';
  import { globalState } from '../../state/globalState';
  @@ -2389,16 +2388,19 @@ class ActionGoToInsertVisualBlockMode extends BaseCommand {
  }
  public override async exec(position: Position, vimState: VimState): Promise<void> {
  - await vimState.setCurrentMode(Mode.Insert);
  - vimState.isFakeMultiCursor = true;
  -
  - for (const { line, start } of TextEditor.iterateLinesInBlock(vimState)) {
  + const cursors: Cursor[] = [];
  + for (const cursor of vimState.cursors) {
  + for (const { line, start } of TextEditor.iterateLinesInBlock(vimState, cursor)) {
  if (line === '' && start.character !== 0) {
  continue;
  }
  - vimState.cursors.push(new Cursor(start, start));
  + cursors.push(new Cursor(start, start));
  }
  - vimState.cursors = vimState.cursors.slice(1);
  + }
  + vimState.cursors = cursors;
  +
  + await vimState.setCurrentMode(Mode.Insert);
  + vimState.isFakeMultiCursor = true;
  }
  }
  @@ -2411,21 +2413,21 @@ class ActionChangeInVisualBlockMode extends BaseCommand {
  }
  public override async exec(position: Position, vimState: VimState): Promise<void> {
  - for (const { start, end } of TextEditor.iterateLinesInBlock(vimState)) {
  + const cursors: Cursor[] = [];
  + for (const cursor of vimState.cursors) {
  + for (const { start, end } of TextEditor.iterateLinesInBlock(vimState, cursor)) {
  vimState.recordedState.transformer.addTransformation({
  type: 'deleteRange',
  range: new vscode.Range(start, end),
  manuallySetCursorPositions: true,
  });
  + cursors.push(new Cursor(start, start));
  + }
  }
  + vimState.cursors = cursors;
  await vimState.setCurrentMode(Mode.Insert);
  vimState.isFakeMultiCursor = true;
  -
  - for (const { start } of TextEditor.iterateLinesInBlock(vimState)) {
  - vimState.cursors.push(new Cursor(start, start));
  - }
  - vimState.cursors = vimState.cursors.slice(1);
  }
  }
  