diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 2550f88eb80..035fdb67928 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -877,10 +877,12 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, finishMovement(); } else if (m_submode == DeleteSubMode && key == 'd') { // tested moveToStartOfLine(); + setTargetColumn(); setAnchor(); moveDown(count()); m_moveType = MoveLineWise; - finishMovement("d"); + setDotCommand("%1dd", count()); + finishMovement(); } else if (m_submode == YankSubMode && key == 'y') { moveToStartOfLine(); setAnchor(); diff --git a/tests/auto/fakevim/main.cpp b/tests/auto/fakevim/main.cpp index fd5b06f0931..9e931526f92 100644 --- a/tests/auto/fakevim/main.cpp +++ b/tests/auto/fakevim/main.cpp @@ -265,6 +265,10 @@ void tst_FakeVim::command_dd() check("dd", l[0] + "\n@" + lmid(2)); check(".", l[0] + "\n@" + lmid(3)); check("3dd", l[0] + "\n@" + lmid(6)); + check("8l", l[0] + "\n QApp@lication app(argc, argv);\n" + lmid(7)); + check("dd", l[0] + "\n@" + lmid(7)); + check(".", l[0] + "\n@" + lmid(8)); + check("dd", l[0] + "\n@" + lmid(9)); } void tst_FakeVim::command_dollar()