From 402affa9c2efd3f965ad8635a46f697da6550ea1 Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Wed, 16 Jan 2013 19:08:29 +0100 Subject: [PATCH] FakeVim: First is part of dot command in insert mode Change-Id: I9324c65333c0f893541043e953456e83a9986bf7 Reviewed-by: hjk --- src/plugins/fakevim/fakevim_test.cpp | 8 ++++++++ src/plugins/fakevim/fakevimhandler.cpp | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 75878432464..1e9019055b3 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -536,6 +536,14 @@ void FakeVimPlugin::test_vim_insert() KEYS("2iXY", "XYX" X "Yc" N "def"); KEYS("0j.", "XYXYc" N "XYX" X "Yf"); + data.setText("abc" N "def"); + KEYS("iXY", "XY" X "bc" N "def"); + KEYS("0j.", "XYbc" N "X" X "Yef"); + + data.setText("ab" X "c" N "def"); + KEYS("iXY", "aXY" X "c" N "def"); + KEYS("j.", "aXYc" N "dX" X "Yf"); + // insert in visual block mode data.setText("abc" N "d" X "ef" N "jkl" N "mno" N "pqr"); KEYS("2j" "2I" "XYZ", "abc" N "d" X "XYZXYZef" N "jXYZXYZkl" N "mXYZXYZno" N "pqr"); diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index bb4ce54319e..30b75efab82 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -4253,9 +4253,10 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input) insert = _(""); endEditBlock(); } else if (input.isKey(Key_Delete)) { - setAnchor(); + joinPreviousEditBlock(); cursor().deleteChar(); insert = _(""); + endEditBlock(); } else if (input.isKey(Key_PageDown) || input.isControl('f')) { removeAutomaticIndentation(); moveDown(count() * (linesOnScreen() - 2));