Vim可以使用gf
在光标下打开文件。例如,如果我的光标下有以下内容:
SensorManagementActivity.java
打gf
会打开SensorManagementActivity.java
。
问题是在Java中,引用缺少java
后缀,并且通常显示为SomeClass
,SomeClass()
或SomeClass.method()
。
- 当光标在另一个文件中
SomeClass.someMethod()
时,如何打开SomeClass.java
并跳转到someMethod()
? - 有没有办法在不保存当前文件的情况下打开新文件,然后返回当前文件而不会丢失更改?
'suffixesadd'
选项允许gf
处理 Java 文件扩展名;它已经由 Vim 附带的 Java 文件类型设置,如下所示:
:setlocal suffixesadd=.java
要跳转到方法,Vim 可以使用必须首先(重新)生成的标签文件(有一些插件可以自动执行此操作)。对于Java,你可以使用exuberant ctags工具。
:! ctags -R
有关详细信息和替代方法,请阅读:help ctags
。使用 :tag
命令或 Ctrl-] 快捷方式进行跳转。
您可以通过 Ctrl-W 跳转到拆分窗口。为了能够保留修改后的文件并在以后返回该文件,请在您的~/.vimrc
中:set hidden
。
PS:虽然在这里它们有点相关,但最好避免在堆栈溢出上问多个问题