如何将 IdeaVim 正常模式的键映射到编辑器的操作?
Posted
技术标签:
【中文标题】如何将 IdeaVim 正常模式的键映射到编辑器的操作?【英文标题】:How to map keys for IdeaVim's normal mode to editor's action? 【发布时间】:2016-04-10 13:28:41 【问题描述】:我正在使用 JetBrains 的 phpstorm 和 IdeaVim 插件。
我想知道是否可以将普通模式下的键绑定到编辑器操作。
例如,我曾经将 Ctrl+B 映射到 Navigate > Declaration。然而 Ctrl+B 是一个 vi 动作,可以向后翻一页,没关系。
我知道我可以将键盘快捷键配置为其他快捷键,例如Ctrl+Shift+B ,但为了简单起见,我希望在ideavim的命令模式中有一个键映射到该功能,例如;
.
所以按下 ;命令模式下会触发Declaration
witin phpstorm的动作。
我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:要针对您要求映射的内容给出具体答案:将其放入您的~/.ideavimrc
:
nnoremap ; :action VimGotoDeclaration<CR>
为了找到动作名称,我输入了:actionlist declaration
,它给出了动作名称的子集,其中包括动作名称中的“声明”一词。
正如其他人所指出的,您可能还更喜欢使用现有映射之一,而不是添加新映射。
【讨论】:
我担心这是不可能的,所以很高兴!【参考方案2】:你想要的 go to declaration
是 vim 中的内置命令。您不必使用 IDEA 的操作。
gd
(goto declaration)就是您要找的东西。
所以你只需按下(正常模式)gd
,看看会发生什么。
在普通 vim 中,执行:h gd
以查看详细信息。
【讨论】:
虽然这适用于问题中描述的操作,但您知道如何将键重新映射到其他编辑器操作吗?【参考方案3】:您可以使用<C-]>
(Ctrl+]) 来跟踪引用(跳转到声明是引用的一个示例),<C-O>
可以返回。您还可以使用类似于原始 Vim 的 map
命令映射这些 Vim 样式的快捷方式。
【讨论】:
以上是关于如何将 IdeaVim 正常模式的键映射到编辑器的操作?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PhpStorm 中使用 IdeaVim 映射 <Action>?