diff --git a/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt b/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt index fad528540..606434008 100644 --- a/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt +++ b/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt @@ -16,7 +16,9 @@ import com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction import com.intellij.codeInsight.template.Template import com.intellij.codeInsight.template.TemplateEditingAdapter import com.intellij.codeInsight.template.TemplateManagerListener +import com.intellij.codeInsight.template.impl.TemplateManagerImpl import com.intellij.codeInsight.template.impl.TemplateState +import com.intellij.codeInsight.template.impl.actions.NextVariableAction import com.intellij.find.FindModelListener import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.ActionUpdateThread @@ -166,6 +168,10 @@ internal object IdeaSpecifics { KeyHandler.getInstance().reset(it.vim) } } + else if (action is NextVariableAction && TemplateManagerImpl.getTemplateState(editor) == null) { + editor.vim.exitInsertMode(event.dataContext.vim) + KeyHandler.getInstance().reset(editor.vim) + } //endregion if (caretOffset != -1 && caretOffset != editor.caretModel.offset) {