通常,我如何在 VIM 中“转到定义”?那我怎么用golang呢?

两部分问题:

首先,在使用 VIM 时,我要采取什么过程以及我键入哪些键来“转到定义”或“转到声明”等?这份文件可能是我问题的答案,但我无法让它工作,所以我不确定。它看起来只是与字符串匹配的文本,而不是找到真正的定义。如果我能得到这个工作,然后将我能够跳以外当前文档的下一个定义/声明?或者这仅适用于单个文档?

其次,我如何专门使用 Go 编程语言进行这项工作?这肯定将是不错的“点击”Client

clnt := &http.Client{Transport: tr}

并转到定义 http.Client的实际代码。

可能的?如何?


拉丁的传说
浏览 507回答 2
2回答

青春有我

正如您猜测的那样,gd(和其他命令)只是文本匹配,vim 不理解语法,因为它只是一个文本编辑器,:h gd将解释如何gd工作。通常,“转到定义”是通过使用CTRL-]和标记文件带来的。可以阅读有关此主题的用户手册:h 29.1。首先你需要为你的项目生成一个标签文件,因为最新的Exuberant Ctags已经支持 golang(来自这里),命令cd /path/to/your/projectctags -f tags -R --fields=+K+a会做的工作。其次,开放VIM,默认情况下vim会(根据找到的标记文件的工作目录下的'tags'选项),如果标签文件被成功找到,然后CTRL- ]'应该效果很好。还要检查两个有用的插件Tagbar和Easytags。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go