diff options
author | Martin Aumueller <aumuell@reserv.at> | 2009-02-16 23:29:07 +0100 |
---|---|---|
committer | Martin Aumueller <aumuell@reserv.at> | 2009-02-17 09:13:33 +0100 |
commit | cc850f6f5b84225a222f5acd61a365cf9d00e80b (patch) | |
tree | 8684ac45ab19d411422a9fdb58eb8c12f93dfcba /src/plugins/fakevim | |
parent | 694f34a4f1237d86eaffdcc7d3a4dc1e97ca103e (diff) | |
download | qt-creator-cc850f6f5b84225a222f5acd61a365cf9d00e80b.tar.gz |
fakevim: let Esc correctly cancel not yet complete commands
Diffstat (limited to 'src/plugins/fakevim')
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 4ed4505399..b4f74a5be5 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()) |