fix(dot-repeat): don't replay non-editing Ex commands #9810
+104
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Aligns dot-repeat behavior with Vim semantics:
.should only repeat the last editing (buffer-changing) action and must not replay Ex commands.Currently,
.can replay Ex commands (e.g.,:bn,:b<number>,:ls,:pwd), which causes unintended navigation and breaks common “edit →.” workflows. This PR consolidates the rule so that all Ex commands are excluded from dot-repeat.Scope & notes
.after executing Ex commands discovered during validation is tracked and fixed separately in [Bug] Pressing.twice after an Ex command with no prior edit state causes a freeze #9809.Which issue(s) this PR fixes
Fixes #9807
Special notes for your reviewer:
Build & Test evidence
Build log (
yarn build)Test log (tail of
npx gulp test)behavior after this change
example1.txt.-.test.-.Visual.Studio.Code.2025-11-01.16-32-42.mp4