fakevim: Correct movement mode for yanking lines

Change-Id: I936574d9220d11031e1f68600bec6e33c88808a5
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Lukas Holecek
2012-12-02 18:32:56 +01:00
committed by hjk
parent baa4db2499
commit 234a04f814
2 changed files with 6 additions and 0 deletions

View File

@@ -1349,6 +1349,11 @@ void FakeVimPlugin::test_vim_copy_paste()
KEYS("yj", "ab" X "c" N "def"); KEYS("yj", "ab" X "c" N "def");
data.setText("abc" N "de" X "f"); data.setText("abc" N "de" X "f");
KEYS("yk", "ab" X "c" N "def"); KEYS("yk", "ab" X "c" N "def");
// copy empty line
data.setText(X "a" N "" N "b");
KEYS("Vjy", X "a" N "" N "b");
KEYS("p", "a" N X "a" N "" N "" N "b");
} }
void FakeVimPlugin::test_vim_undo_redo() void FakeVimPlugin::test_vim_undo_redo()

View File

@@ -3692,6 +3692,7 @@ bool FakeVimHandler::Private::handleNoSubMode(const Input &input)
|| (input.is('Y') && isVisualLineMode()) || (input.is('Y') && isVisualLineMode())
|| (input.is('Y') && isVisualCharMode())) { || (input.is('Y') && isVisualCharMode())) {
m_rangemode = RangeLineMode; m_rangemode = RangeLineMode;
m_movetype = MoveLineWise;
m_submode = YankSubMode; m_submode = YankSubMode;
finishMovement(); finishMovement();
} else if ((input.is('y') || input.is('Y')) && isVisualBlockMode()) { } else if ((input.is('y') || input.is('Y')) && isVisualBlockMode()) {