如何在 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)
...
有<Action>
映射,括号中是IDE 应该执行的操作。现在supported actions 中有一个所有受支持操作的列表。
我想映射到<leader>]
以移动到下一个选项卡的操作。在上面支持的操作链接中,我找到了操作:
* |gt| @link com.maddyhome.idea.vim.action.motion.tabs.MotionNextTabAction
(或者我认为,这是正确的操作,“移动到下一个选项卡”)。所以我希望映射是:
map <leader>] <Action>(MotionNextTabAction)
当然,那是行不通的。动作名称可能是错误的,但除了链接中的“支持的动作列表”之外,我没有其他参考。那么映射应该怎么看呢?如何在列表和“真实”动作名称之间进行转换?
【问题讨论】:
【参考方案1】:动作的名称是NextTab
。
这个列表其实不是动作列表,而是开发者实现类的链接列表。 (是的,我们实际上应该更新它以使其更加用户友好)。
关于动作名称:通常我建议使用"track action IDs" 选项来获取动作的名称,但由于某种原因它不适用于这种情况(由于某种原因未显示动作的ID) .但是通过actionlist
搜索仍然有效,您可以使用它。
无论如何,您为什么不直接创建一个到gt
的映射?喜欢map <leader>] gt
。
【讨论】:
以上是关于如何在 PhpStorm 中使用 IdeaVim 映射 <Action>?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Vim中配置IdeaVIM Ctrl + N和Ctrl + P完成?
PyCharm - IdeaVim - “潜行”插件:如何重新映射's'?