如何映射IdeaVim';将正常模式设置为编辑器';什么行动?

如何映射IdeaVim';将正常模式设置为编辑器';什么行动?,vim,intellij-idea,keyboard-shortcuts,phpstorm,ideavim,Vim,Intellij Idea,Keyboard Shortcuts,Phpstorm,Ideavim,我正在使用JetBrains的phpstorm和IdeaVim插件 我想知道是否可以在正常模式下将键绑定到编辑器操作 例如,我曾经将Ctrl+B映射到导航>声明。然而,Ctrl+B是一个vi运动,可以向后移动一页,这是可以的 我知道我可以将键盘快捷键配置为不同的快捷键,例如Ctrl+Shift+B,但为了简化操作,我希望在ideavim的命令模式中有一个键映射到该功能,例如 使之紧迫;在命令模式下,将触发声明witin phpstorm的操作 如何实现这一点?您想要的转到声明是vim中内置的命令

我正在使用JetBrains的phpstorm和IdeaVim插件

我想知道是否可以在正常模式下将键绑定到编辑器操作

例如,我曾经将Ctrl+B映射到导航>声明。然而,Ctrl+B是一个vi运动,可以向后移动一页,这是可以的

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

使之紧迫;在命令模式下,将触发
声明
witin phpstorm的操作


如何实现这一点?

您想要的
转到声明
是vim中内置的命令。你不必使用IDEA的行动

gd
gotodeclaration)是您正在寻找的东西

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


在正常vim中,执行
:h gd
检查详细信息。

您可以使用
(Ctrl+])进行以下引用(跳转到声明是引用的一个示例)和
返回。您还可以使用与原始Vim类似的
map
命令映射这些Vim样式的快捷方式。

要准确回答您要映射的内容,请将其放入您的
~/.ideavimrc

nnoremap ; :action VimGotoDeclaration<CR>
nnoremap;:去核化作用
为了找到动作名称,我键入了
:actionlist declaration
,它给出了动作名称的子集,动作名称中包含单词“declaration”


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

虽然这适用于问题中描述的操作,但您知道如何将密钥重新映射到其他编辑器操作吗?我担心这不可能,很高兴这是可能的!