From 611be1ae1913c5181a75f5c176be09845652120c Mon Sep 17 00:00:00 2001 From: Lukas Holecek Date: Fri, 23 Nov 2012 19:41:59 +0100 Subject: [PATCH] fakevim: Command 's' has exclusive motion Change-Id: I3d4642ebf69055722568cf0e59f5480ad5b2c418 Reviewed-by: hjk --- src/plugins/fakevim/fakevim_test.cpp | 12 ++++++++++++ src/plugins/fakevim/fakevimhandler.cpp | 1 + 2 files changed, 13 insertions(+) diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 5fcdd379182..ce6526ac4ac 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -811,6 +811,18 @@ void FakeVimPlugin::test_vim_change_replace() data.setText(" abc" N " def" N " gh" X "i" N " jkl"); KEYS("ck123", " abc" N " 12" X "3" N " jkl"); INTEGRITY(false); + + data.setText("abc" N X "def"); + KEYS("sXYZ", "abc" N "XYZ" X "ef"); + INTEGRITY(false); + + data.setText("abc" N X "def"); + KEYS("2sXYZ", "abc" N "XY" X "Zf"); + INTEGRITY(false); + + data.setText("abc" N X "def"); + KEYS("6sXYZ", "abc" N "XY" X "Z"); + INTEGRITY(false); } void FakeVimPlugin::test_vim_block_selection() diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 0da53b67afe..b0436fc0965 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -3534,6 +3534,7 @@ bool FakeVimHandler::Private::handleNoSubMode(const Input &input) moveRight(qMin(count(), rightDist())); setDotCommand("%1s", count()); m_submode = ChangeSubMode; + m_movetype = MoveExclusive; finishMovement(); } else if (input.is('S')) { m_movetype = MoveLineWise;