diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 51355da52937791bcf28194479567d3a94de85cc..e61b66e572e7729501fd83171dcfad7f45181777 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);