diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 1fe2e0795c2..af1aeb73e2e 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -7203,10 +7203,10 @@ void FakeVimHandler::Private::onContentsChanged(int position, int charsRemoved, if (position < m_insertState.pos1) { // backspaces const int bs = m_insertState.pos1 - position; - const QString inserted = textAt(position, position + charsAdded); + const QString inserted = textAt(position, m_oldPosition); const QString removed = m_insertState.textBeforeCursor.right(bs); // Ignore backspaces if same text was just inserted. - if ( !inserted.startsWith(removed) ) { + if ( !inserted.endsWith(removed) ) { m_insertState.backspaces += bs; m_insertState.pos1 = position; m_insertState.pos2 = qMax(position, m_insertState.pos2 - bs);