35

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

4

5 回答 5

87

我注意到'gd'似乎去了声明。

于 2014-12-17T18:00:42.430 回答
25

使用ideavim默认设置,在普通模式下按'gd'可以跳转到声明,但是默认没有办法去实现。

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

nmap g] :action GotoImplementation<CR>

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

于 2016-11-17T06:54:19.203 回答
4

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

我的解决办法是

Preferences
> Editor
> Vim Emulation
> "Ctrl-B, Declaration"
> Change from "Vim" to "IDE"
于 2019-04-23T19:38:22.843 回答
0

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

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

于 2018-11-06T08:29:15.337 回答
0

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

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

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

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

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

于 2020-04-17T20:35:53.050 回答