diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 8a164fee4d5ba57416b5e1b8935cfdd67a8c1862..7f5747e91b0deeb938174691dfd9e93305d83ba2 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -693,6 +693,10 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
             scrollToLineInDocument(cursorLineInDocument());
             moveToFirstNonBlankOnLine();
             finishMovement();
+        } else if (key == '.') { // center cursor line 
+            scrollToLineInDocument(cursorLineInDocument() - linesOnScreen() / 2);
+            moveToFirstNonBlankOnLine();
+            finishMovement();
         } else {
             qDebug() << "IGNORED Z_MODE " << key << text;
         }