diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index e01c3296899d6b0a2b1b7e41b0464f0e5cb49b6f..895b646b0f1d2d78c23bd122523a838ae567d0b2 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2824,6 +2824,13 @@ EventResult FakeVimHandler::Private::handleExMode(const Input &input)
             m_commandBuffer.chop(1);
         }
         updateMiniBuffer();
+    } else if (input.isKey(Key_Tab)) {
+        QStringList completions;
+        foreach (const QString &entry, g.commandHistory.items()) {
+            if (entry.startsWith(m_commandBuffer))
+                completions.append(entry);
+        }
+        qDebug() << completions;
     } else if (input.isKey(Key_Left)) {
         // FIXME:
         if (!m_commandBuffer.isEmpty())