diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 51355da5293..e61b66e572e 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -2210,8 +2210,12 @@ void FakeVimHandler::Private::focus() setTargetColumn(); setAnchor(); commitCursor(); - } else { + } else if (g.submode != NoSubMode || g.mode == ExMode) { leaveVisualMode(); + setPosition(qMin(position(), anchor())); + setTargetColumn(); + setAnchor(); + commitCursor(); } bool exitCommandLine = (g.subsubmode == SearchSubSubMode || g.mode == ExMode);