From cc850f6f5b84225a222f5acd61a365cf9d00e80b Mon Sep 17 00:00:00 2001 From: Martin Aumueller Date: Mon, 16 Feb 2009 23:29:07 +0100 Subject: [PATCH] fakevim: let Esc correctly cancel not yet complete commands --- src/plugins/fakevim/fakevimhandler.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 4ed45053990..b4f74a5be58 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1246,10 +1246,15 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified, moveRight(qMin(1, rightDist())); recordRemoveSelectedText(); } else if (key == Key_Escape) { - if (m_visualMode != NoVisualMode) + if (m_visualMode != NoVisualMode) { leaveVisualMode(); - else + } else if (m_submode != NoSubMode) { + m_submode = NoSubMode; + m_subsubmode = NoSubSubMode; + finishMovement(); + } else { handled = false; + } } else { qDebug() << "IGNORED IN COMMAND MODE: " << key << text; if (text.isEmpty())