diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 713c9baaec0c7652ee980b954d22b08edf6d1524..5527cdb8bc7f35fcfd0c5d4035b4aea2f3109884 100755
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -839,7 +839,9 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
         m_submode = NoSubMode;
     } else if (m_submode == IndentSubMode) {
         recordJump();
+        beginEditBlock();
         indentRegion();
+        endEditBlock();
         m_submode = NoSubMode;
         updateMiniBuffer();
     } else if (m_submode == ShiftRightSubMode) {
@@ -1247,7 +1249,9 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
     } else if (key == '=' && isNoVisualMode()) {
         m_submode = IndentSubMode;
     } else if (key == '=' && isVisualMode()) {
+        beginEditBlock();
         indentRegion();
+        endEditBlock();
         leaveVisualMode();
     } else if (key == '%') {
         m_movetype = MoveExclusive;