diff --git a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/select/SelectEnableCharacterModeAction.kt b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/select/SelectEnableCharacterModeAction.kt index 7bfc77fee..2266c2b91 100644 --- a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/select/SelectEnableCharacterModeAction.kt +++ b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/select/SelectEnableCharacterModeAction.kt @@ -37,10 +37,10 @@ class SelectEnableCharacterModeAction : VimActionHandler.SingleExecution() { ): Boolean { editor.nativeCarets().sortedByDescending { it.offset }.forEach { caret -> val lineEnd = editor.getLineEndForOffset(caret.offset) + val offset = caret.offset val nextOffset = (caret.offset + 1).coerceAtMost(lineEnd) - caret.vimSetSystemSelectionSilently(caret.offset, nextOffset) - val updatedCaret = editor.findLastVersionOfCaret(caret) ?: return@forEach - updatedCaret.moveToInlayAwareOffset(nextOffset) + val updatedCaret = caret.moveToInlayAwareOffset(nextOffset) + updatedCaret.vimSetSystemSelectionSilently(offset, nextOffset) } return injector.visualMotionGroup.enterSelectMode(editor, SelectionType.CHARACTER_WISE) }