From 06dfd937d8719bc925145a03bdf34bb35a019972 Mon Sep 17 00:00:00 2001
From: Martin Aumueller <aumuell@reserv.at>
Date: Sun, 1 Feb 2009 21:35:14 +0100
Subject: [PATCH] fakevim: implement 'gg' for moving to first line

---
 src/plugins/fakevim/fakevimhandler.cpp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 6c179cf902b..bdb46f0824a 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -951,7 +951,15 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
         m_subsubmode = FtSubSubMode;
         m_subsubdata = key;
     } else if (key == 'g') {
-        m_gflag = true;
+        if (m_gflag) {
+            m_gflag = false;
+            m_tc.setPosition(firstPositionInLine(1), KeepAnchor);
+            if (m_config[ConfigStartOfLine] == ConfigOn)
+                moveToFirstNonBlankOnLine();
+            finishMovement();
+        } else {
+            m_gflag = true;
+        }
     } else if (key == 'G') {
         int n = m_mvcount.isEmpty() ? linesInDocument() : count();
         m_tc.setPosition(firstPositionInLine(n), KeepAnchor);
-- 
GitLab