Removes the reliance on `[ to go the start of the shifted selection to simplify the re-selection logic.
Preserve cursor position on MoveBlockLeft and MoveBlockRight
Info
I realized that PR #34 didn't address the root cause of the problem it's trying to fix.
The root cause is that P in virtualedit=all mode behaves inconsistently; the cursor sometimes moves one column right after pasting, other times it doesn't. This makes it difficult to rely on `[ to determine the start of the shifted selection.
PR #34 attempted to work around the inconsistencies but couldn't handle all cases:
Changes
`[
to go the start of the shifted selection to simplify the re-selection logic.MoveBlockLeft
andMoveBlockRight
Info
I realized that PR #34 didn't address the root cause of the problem it's trying to fix.
The root cause is that
P
invirtualedit=all
mode behaves inconsistently; the cursor sometimes moves one column right after pasting, other times it doesn't. This makes it difficult to rely on`[
to determine the start of the shifted selection.PR #34 attempted to work around the inconsistencies but couldn't handle all cases:
With this patch: