【问题标题】:ideavim how to navigate to declaration / implementation of a method?ideavim 如何导航到方法的声明/实现?
【发布时间】:2014-01-22 18:16:29
【问题描述】:

我正在阅读:http://ideavim.sourceforge.net/vim/quickref.html。 当我的光标在一个方法上时,我如何导航到它的声明/执行(如正常模式下的 ctrl-b)我尝试了gd,但它没有做任何事情。

【问题讨论】:

  • 我找到的最接近的是:转到 Settings/Vim Emulation,找到 Ctrl+B 快捷方式,将 Handler 从 Vim 更改为 IDE,然后 Ctrl-B 将按预期工作。

标签: intellij-idea ideavim


【解决方案1】:

我注意到 'gd' 似乎出现在声明中。

【讨论】:

  • 你也可以使用 'gd' 后使用 Ctrl + o 回到原来的地方
  • @NagarjunPrasad Ctrl + o 适合我。如何使用另一个组合键重新定义此快捷方式?谢谢
【解决方案2】:

在idevim默认设置下,在普通模式下按'gd'可以跳转到声明,但无法进入默认实现。

所以你可以自己修改,触摸新文件~/.ideavimrc,然后在那个文件中设置你自己的keymapper:

nmap g] :action GotoImplementation<CR>

'GotoImplementation' 是 IntelliJ 定义的动作,因此按 'g]' 将运行此动作。 试试看。

【讨论】:

  • 这是一个非常好的建议。我只是稍微调整了一下,让我的肌肉记忆更容易。为此,我使用“gD”而不是“g]”。最后一点,@Jas,我相信您应该将此标记为正确答案。它已经完成,它解决了你的问题。
  • 你怎么回去?转到声明?
  • @Justin Thomas 只需使用 IDE 的键盘映射
  • 效果很好,但我更喜欢nmap gi :action GotoImplementation&lt;CR&gt;
【解决方案3】:

就我而言,我希望 Ctrl-B 执行默认的“Go To Declaration”,但它不会做任何事情,因为 Vim 仿真正在拦截组合键。

我的解决办法是

Preferences
> Editor
> Vim Emulation
> "Ctrl-B, Declaration"
> Change from "Vim" to "IDE"

【讨论】:

    【解决方案4】:

    您可以映射“GotoImplementation”方法来执行。要返回基本方法,您可以改用“GotoSuperMethod”操作。

    是的,它甚至在 Rider 中也有效,即使 .net 中没有“超级”类。

    【讨论】:

      【解决方案5】:

      我发现很难记住通常在 vim 中有效的某些组合不起作用 b/c 它与 IDE 冲突。

      如果我开始在“vim 模拟器”中制造异常,我就很难把它牢记在心。

      “CTRL + b”在 IDE 中非常适用于“转到定义”。为什么要按“vim emulator”来做同样的事情?

      我发现不必将复杂的事情牢记在心,我发现添加键盘快捷键(ALT + 9)来快速打开/关闭“vim 模拟器”(“工具”->“vim 模拟器”)更容易)。

      在 VIM 模式下编辑。
      想要回溯以查看定义的位置吗?翻转开关。
      “CTRL + b”走开!
      切换回 VIM 模式以编辑更多...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多