diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 2550f88eb80aac33d001987f37d4ac60c3c5b7ac..035fdb6792846d9cbbec5558aae1836fbde3e6a5 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 fd5b06f0931b6c168e60a07cff90df3796e260f8..9e931526f92acfaa31d1cd33277d84d8dcc05a75 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()