IntelliJ 的 IdeaVim 插件禁止将 Java 转换为 Kotlin

IntelliJ's IdeaVim plugin disables converting Java to Kotlin

我想使用 IntelliJ 的功能,它通过简单地将 Java 文件复制粘贴到 Kotlin 文件来将 Java 代码转换为 Kotlin。它工作正常,但是当我打开 IdeaVim 插件时,它不再工作了。我对 Vim 非常了解,这不是我误解 Vim 编辑模式的问题。我知道 并由@yole 回答说没有其他工具可以做到这一点。

但那个答案是 3 个多月前做出的,也许其他工具出现了。所以,我的问题是,是否有人找到了使 IdeaVim 插件配合 Java 到 Kotlin 转换的解决方法。我已经在 YouTrack 上投了票:https://youtrack.jetbrains.com/issue/VIM-1103 但坦率地说,我不太确定它是否会得到解决。

vim 插件接管了剪贴板和过去的功能。当您键入 :actionlist 时,您会得到一个创意动作列表,您可以在 .ideavimrc 文件中使用这些创意动作将键盘映射映射到创意动作。使用:action COMMAND执行命令。

即:

norepmap <C-w>q :action VimWindowClose<cr>

关闭当前 window.

此外,您可以使用 :actionlist Past 搜索特定的 action。 这列出了

EditorPast <C-V> <S-ins>

除其他外。

如果您想检查 EditorPast 是否是正确的命令,您可以使用 :action EditorPaste.

进行测试

使这项工作起作用的另一种方法是让 idea 处理 <C-v> 快捷方式。这可以通过 Settings -> Other Setting -> Vim Emulation 设置来实现。可以使用该设置定义处理程序(vim 或想法)。

好的,JetBrains 的人回答了我的问题。明显的解决方法(我没有弄清楚)是从上下文菜单复制和粘贴。然后出现转换问题。在我看来,IdeaVim 插件似乎不太可能通过拉动和放置(Vim 的复制和粘贴)来支持此功能,来自:

Running IDE actions on copy and paste might be a good idea, but we're not sure it wouldn't disrupt the workflow of the current users.