diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 61a50b61cdd4d7bbddd15650a4dcefb8bac4c6fb..d3b904cf238fcb3a3e328ca038e412dc00d5f816 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -1932,7 +1932,7 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
 
     } else if (key == control(Key_BracketRight)) {
         handleCommand("tag");
-    } else if (key == Key_Escape) {
+    } else if (key == Key_Escape || key == control(Key_BracketLeft)) {
         if (isVisualMode()) {
             leaveVisualMode();
         } else if (m_submode != NoSubMode) {
@@ -2134,7 +2134,7 @@ EventResult FakeVimHandler::Private::handleMiniBufferModes(int key, int unmodifi
 {
     Q_UNUSED(text)
 
-    if (key == Key_Escape || key == control('c')) {
+    if (key == Key_Escape || key == control('c') || key == control(Key_BracketLeft)) {
         m_commandBuffer.clear();
         enterCommandMode();
         updateMiniBuffer();