如何在 PhpStorm 中使用 IdeaVim 映射 <Action>?

Posted

技术标签:

【中文标题】如何在 PhpStorm 中使用 IdeaVim 映射 <Action>?【英文标题】:How to map an <Action> using IdeaVim in PhpStorm? 【发布时间】:2021-07-10 18:54:59 【问题描述】:

vim 的 phpStorm 插件:https://github.com/JetBrains/ideavim,可通过 .ideavimrc 配置(根据文档)。文档中有一个示例:

""" Mappings --------------------------------
map <leader>f <Plug>(easymotion-s)
map <leader>e <Plug>(easymotion-f)

map <leader>d <Action>(Debug)
map <leader>r <Action>(RenameElement)
...

&lt;Action&gt; 映射,括号中是IDE 应该执行的操作。现在supported actions 中有一个所有受支持操作的列表。

我想映射到&lt;leader&gt;] 以移动到下一个选项卡的操作。在上面支持的操作链接中,我找到了操作:

 * |gt|                   @link com.maddyhome.idea.vim.action.motion.tabs.MotionNextTabAction 

(或者我认为,这是正确的操作,“移动到下一个选项卡”)。所以我希望映射是:

map <leader>] <Action>(MotionNextTabAction)

当然,那是行不通的。动作名称可能是错误的,但除了链接中的“支持的动作列表”之外,我没有其他参考。那么映射应该怎么看呢?如何在列表和“真实”动作名称之间进行转换?

【问题讨论】:

【参考方案1】:

动作的名称是NextTab。 这个列表其实不是动作列表,而是开发者实现类的链接列表。 (是的,我们实际上应该更新它以使其更加用户友好)。

关于动作名称:通常我建议使用"track action IDs" 选项来获取动作的名称,但由于某种原因它不适用于这种情况(由于某种原因未显示动作的ID) .但是通过actionlist 搜索仍然有效,您可以使用它。

无论如何,您为什么不直接创建一个到gt 的映射?喜欢map &lt;leader&gt;] gt

【讨论】:

以上是关于如何在 PhpStorm 中使用 IdeaVim 映射 <Action>?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 IdeaVim 正常模式的键映射到编辑器的操作?

如何在Vim中配置IdeaVIM Ctrl + N和Ctrl + P完成?

PyCharm - IdeaVim - “潜行”插件:如何重新映射's'?

intellij idea ideavim 用新线替代

IdeaVim 与 PyCharm 上的 Jupyter Notebook

IdeaVim插件使用技巧--JetBrains Plugin Vim