diff options
author | Lukas Holecek <hluk@email.cz> | 2014-11-12 21:06:36 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-11-17 09:11:41 +0100 |
commit | 4631da97afb4a49ec8b36e9a4aeb70cf4c561652 (patch) | |
tree | 5d87ca7ad41e089d643d7773bb70a0d260888aae /src/plugins/fakevim | |
parent | f4ffaaa278820a6253f4d92f0152f0596372fe6c (diff) |
FakeVim: Allow to use "i<C-O>v"
Change-Id: Ibd669a8ac75734b18b41066255a43ee8bda19743
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/fakevim')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 2 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 0508de1966..ad7b013277 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("i<c-o>0x", "abc" N "x" X "def"); data.setText("abc" N "de" X "f"); KEYS("i<c-o>ggx", "x" X "abc" N "def"); + data.setText("abc" N "def" N "ghi"); + KEYS("i<c-o>vjlolx", "a" X "f" N "ghi"); // <INSERT> 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 a20274ea2f..424171d670 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(); |