2016-01-06 33 views
0

我正在使用JetBrains的phpstorm与IdeaVim插件。如何将IdeaVim常规模式的键映射到编辑器的动作?

我想知道如果我可以绑定正常模式下的键到编辑器的动作。

例如,我以前已映射Ctrl键 + 到导航>宣言。然而Ctrl + B是一个向后移动一页的vi动作,没关系。

我知道我可以将键盘快捷键配置为不同的键盘快捷键。 Ctrl + Shift + B,但为了让事情更简单我希望在ideavim的命令模式中有一个键映射到该功能,例如, ;

因此,按下;在命令模式下将触发Declaration在phpstorm中的动作。

我该如何做到这一点?

回答

1

你想要什么go to declaration是在vim中的命令。您不必使用IDEA的操作。

gd OTO d eclaration)是你正在寻找的东西。

所以你只需按(正常模式)gd,看看会发生什么。

在一个正常的vim中,执行:h gd来查看详细信息。

+0

虽然这适用于问题描述中的操作,但是您是否知道如何将某个键重新映射到其他编辑器操作? – k0pernikus

0

您可以使用<C-]>(Ctrl +])作为以下引用(跳转到声明是引用的示例)并返回<C-O>。您还可以使用类似于原始Vim的map命令映射这些Vim风格的快捷方式。

2

为了让整整一个明确的答案你问映射:把这个变成你的~/.ideavimrc

nnoremap ; :action VimGotoDeclaration<CR> 

要找到行动的名字,我输入:actionlist declaration这给包括该单词的动作名称的一个子集行动名称中的“声明”。

正如其他人所指出的,您可能更喜欢使用现有映射之一,而不是添加新映射。