From 4631da97afb4a49ec8b36e9a4aeb70cf4c561652 Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Wed, 12 Nov 2014 21:06:36 +0100 Subject: [PATCH] FakeVim: Allow to use "iv" Change-Id: Ibd669a8ac75734b18b41066255a43ee8bda19743 Reviewed-by: hjk --- src/plugins/fakevim/fakevim_test.cpp | 2 ++ src/plugins/fakevim/fakevimhandler.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 0508de1966a..ad7b0132774 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -748,6 +748,8 @@ void FakeVimPlugin::test_vim_insert() KEYS("i0x", "abc" N "x" X "def"); data.setText("abc" N "de" X "f"); KEYS("iggx", "x" X "abc" N "def"); + data.setText("abc" N "def" N "ghi"); + KEYS("ivjlolx", "a" X "f" N "ghi"); // to toggle between insert and replace mode data.setText("abc" N "def"); diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index a20274ea2f3..424171d6705 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -3492,7 +3492,9 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommandMovement) void FakeVimHandler::Private::leaveCurrentMode() { - if (g.returnToMode == CommandMode) + if (isVisualMode()) + enterCommandMode(g.returnToMode); + else if (g.returnToMode == CommandMode) enterCommandMode(); else if (g.returnToMode == InsertMode) enterInsertMode();