From 72c5253a3b5ef54de7f80209ccecb339a851305d Mon Sep 17 00:00:00 2001
From: Lukas Holecek <hluk@email.cz>
Date: Tue, 11 Nov 2014 19:58:59 +0100
Subject: [PATCH] FakeVim: Fix target column when leaving insert mode

Change-Id: Idb9d6b70815d7212f677d68b3d5d268abdf4f44f
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 src/plugins/fakevim/fakevimhandler.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index ec2fa32f6ab..ee2fb62b5b1 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -7834,8 +7834,12 @@ void FakeVimHandler::Private::enterCommandMode(Mode returnToMode)
     if (g.isRecording && isCommandLineMode())
         record(Input(Key_Escape, NoModifier));
 
-    if (isNoVisualMode() && atEndOfLine())
-        moveLeft();
+    if (isNoVisualMode() && atEndOfLine()) {
+        m_cursor.movePosition(Left, KeepAnchor);
+        if (m_targetColumn != -1)
+            setTargetColumn();
+    }
+
     g.mode = CommandMode;
     clearCommandMode();
     g.returnToMode = returnToMode;
-- 
GitLab