diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index e0bbf7df80527657d9e6bc6111163417865c7ddc..e06dbc171b1042960de0ba0d32b6aa7a94fb8184 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2663,6 +2663,12 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input)
         insertInInsertMode(input.raw());
     } else if (input.isControl('v')) {
         m_ctrlVActive = true;
+    } else if (input.isControl('w')) {
+        int endPos = position();
+        moveToWordBoundary(false, false, false);
+        int beginPos = position();
+        Range range(beginPos, endPos, RangeCharMode);
+        removeText(range);
     } else if (input.isKey(Key_Insert)) {
         if (m_mode == ReplaceMode)
             m_mode = InsertMode;