diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index b45d1510dbe3010a7ded2f163f13bb7a9151d7f4..61a50b61cdd4d7bbddd15650a4dcefb8bac4c6fb 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1772,6 +1772,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, m_movetype = MoveExclusive; m_subsubmode = FtSubSubMode; m_subsubdata = key; + } else if (key == control('t')) { + handleCommand("pop"); } else if (!m_gflag && key == 'u') { undo(); } else if (key == control('u')) { @@ -1928,6 +1930,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, removeSelectedText(); } else if (key == Key_BracketLeft || key == Key_BracketRight) { + } else if (key == control(Key_BracketRight)) { + handleCommand("tag"); } else if (key == Key_Escape) { if (isVisualMode()) { leaveVisualMode(); diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index d4d26aeee3484ee6ee5b1aa2c3dd37ba4aeb056a..5c6aa71004e98650c886a8e0edcf636499e75087 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -67,6 +67,8 @@ #include <utils/savedaction.h> #include <utils/treewidgetcolumnstretcher.h> +#include <cppeditor/cppeditorconstants.h> + #include <cpptools/cpptoolsconstants.h> #include <indenter.h> @@ -553,6 +555,8 @@ FakeVimPluginPrivate::FakeVimPluginPrivate(FakeVimPlugin *plugin) s_defaultExCommandMap[ProjectExplorer::Constants::BUILD] = QRegExp("^make$"); s_defaultExCommandMap["Coreplugin.OutputPane.previtem"] = QRegExp("^(cN(ext)?|cp(revious)?)!?( (.*))?$"); s_defaultExCommandMap["Coreplugin.OutputPane.nextitem"] = QRegExp("^cn(ext)?!?( (.*))?$"); + s_defaultExCommandMap[CppEditor::Constants::JUMP_TO_DEFINITION] = QRegExp("^tag?$"); + s_defaultExCommandMap[Core::Constants::GO_BACK] = QRegExp("^pop?$"); } FakeVimPluginPrivate::~FakeVimPluginPrivate()