FakeVim: First <Delete> is part of dot command in insert mode

Change-Id: I9324c65333c0f893541043e953456e83a9986bf7
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Lukas Holecek
2013-01-16 19:08:29 +01:00
committed by hjk
parent af559bf837
commit 402affa9c2
2 changed files with 10 additions and 1 deletions

View File

@@ -536,6 +536,14 @@ void FakeVimPlugin::test_vim_insert()
KEYS("2iX<delete>Y<esc>", "XYX" X "Yc" N "def");
KEYS("0j.", "XYXYc" N "XYX" X "Yf");
data.setText("abc" N "def");
KEYS("i<delete>XY", "XY" X "bc" N "def");
KEYS("0j.", "XYbc" N "X" X "Yef");
data.setText("ab" X "c" N "def");
KEYS("i<bs>XY", "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("<c-v>2j" "2I" "XYZ<esc>", "abc" N "d" X "XYZXYZef" N "jXYZXYZkl" N "mXYZXYZno" N "pqr");

View File

@@ -4253,9 +4253,10 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input)
insert = _("<BS>");
endEditBlock();
} else if (input.isKey(Key_Delete)) {
setAnchor();
joinPreviousEditBlock();
cursor().deleteChar();
insert = _("<DELETE>");
endEditBlock();
} else if (input.isKey(Key_PageDown) || input.isControl('f')) {
removeAutomaticIndentation();
moveDown(count() * (linesOnScreen() - 2));