diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp
index 58dd810ae8764c51ca39b7f2601d7f5bc8799544..9e63d548ca9a9d35c850bce5364fe8a4764d021f 100644
--- a/src/plugins/fakevim/fakevimactions.cpp
+++ b/src/plugins/fakevim/fakevimactions.cpp
@@ -214,6 +214,14 @@ FakeVimSettings *theFakeVimSettings()
         "FakeVim properties..."));
     instance->insertItem(SettingsDialog, item);
 
+    // Invented here.
+    item = new SavedAction(instance);
+    item->setDefaultValue(false);
+    item->setValue(false);
+    item->setSettingsKey(group, _("ShowMarks"));
+    item->setCheckable(true);
+    instance->insertItem(ConfigShowMarks, item, _("showmarks"), _("sm"));
+
     return instance;
 }
 
diff --git a/src/plugins/fakevim/fakevimactions.h b/src/plugins/fakevim/fakevimactions.h
index a05e129c9be5e3f3a7c5fa874a5d9bfc315f61b9..2b8c2fbd7df6069ac9e09d4115c4bc6a160056a6 100644
--- a/src/plugins/fakevim/fakevimactions.h
+++ b/src/plugins/fakevim/fakevimactions.h
@@ -65,6 +65,7 @@ enum FakeVimSettingsCode
 
     // other actions
     SettingsDialog,
+    ConfigShowMarks,
 };
 
 class FakeVimSettings : public QObject
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index ecb09e7b1c091ff56d0e79a077825209f50b1d88..ab214b0456ed513d21c4934881b4e522b299f816 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -103,8 +103,6 @@
 #   define UNDO_DEBUG(s)
 #endif
 
-//#define DEBUG_MARKS  1
-
 using namespace Utils;
 
 namespace FakeVim {
@@ -978,9 +976,10 @@ EventResult FakeVimHandler::Private::handleEvent(QKeyEvent *ev)
         EDITOR(setTextCursor(m_tc));
         m_oldPosition = m_tc.position();
     }
-#ifdef DEBUG_MARKS
-    updateSelection();
-#endif
+
+    if (hasConfig(ConfigShowMarks))
+        updateSelection();
+
     return result;
 }
 
@@ -1425,19 +1424,19 @@ void FakeVimHandler::Private::updateSelection()
         }
     }
     //qDebug() << "SELECTION: " << selections;
-#ifdef DEBUG_MARKS
-    for (QHashIterator<int, int> it(m_marks); it.hasNext(); ) {
-        it.next();
-        QTextEdit::ExtraSelection sel;
-        sel.cursor = m_tc;
-        sel.cursor.setPosition(it.value(), MoveAnchor);
-        sel.cursor.setPosition(it.value() + 1, KeepAnchor);
-        sel.format = m_tc.blockCharFormat();
-        sel.format.setForeground(Qt::blue);
-        sel.format.setBackground(Qt::green);
-        selections.append(sel);
+    if (hasConfig(ConfigShowMarks)) {
+        for (QHashIterator<int, int> it(m_marks); it.hasNext(); ) {
+            it.next();
+            QTextEdit::ExtraSelection sel;
+            sel.cursor = m_tc;
+            sel.cursor.setPosition(it.value(), MoveAnchor);
+            sel.cursor.setPosition(it.value() + 1, KeepAnchor);
+            sel.format = m_tc.blockCharFormat();
+            sel.format.setForeground(Qt::blue);
+            sel.format.setBackground(Qt::green);
+            selections.append(sel);
+        }
     }
-#endif
     emit q->selectionChanged(selections);
 }
 
diff --git a/src/plugins/fakevim/fakevimoptions.ui b/src/plugins/fakevim/fakevimoptions.ui
index 3b19bc3af2476a8b47d3f41ddad8fa8efa5329a6..a5355f7ea890e531bb1c5b5e2349564fded13167 100644
--- a/src/plugins/fakevim/fakevimoptions.ui
+++ b/src/plugins/fakevim/fakevimoptions.ui
@@ -66,6 +66,13 @@
         </property>
        </widget>
       </item>
+      <item row="2" column="2">
+       <widget class="QCheckBox" name="checkBoxShowMarks">
+        <property name="text">
+         <string>Show position of text marks</string>
+        </property>
+       </widget>
+      </item>
       <item row="3" column="0" colspan="2">
        <widget class="QCheckBox" name="checkBoxSmartTab">
         <property name="text">
diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index b43d7336ab69b5d238d8ab5ef10a2aadd802e0b1..37e258e00f6b0dcb93f7ee89f5257dc64cbafbc4 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -167,6 +167,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent)
         m_ui.checkBoxHlSearch);
     m_group.insert(theFakeVimSetting(ConfigShiftWidth),
         m_ui.spinBoxShiftWidth);
+    m_group.insert(theFakeVimSetting(ConfigShowMarks),
+        m_ui.checkBoxShowMarks);
 
     m_group.insert(theFakeVimSetting(ConfigSmartTab),
         m_ui.checkBoxSmartTab);
@@ -198,8 +200,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent)
         QTextStream(&m_searchKeywords)
             << ' ' << m_ui.checkBoxAutoIndent->text()
             << ' ' << m_ui.checkBoxExpandTab->text()
+            << ' ' << m_ui.checkBoxShowMarks->text()
             << ' ' << m_ui.checkBoxSmartIndent->text()
-            << ' ' << m_ui.checkBoxExpandTab->text()
             << ' ' << m_ui.checkBoxHlSearch->text()
             << ' ' << m_ui.checkBoxIncSearch->text()
             << ' ' << m_ui.checkBoxSmartTab->text()