如何设置go gb以在vim内部构建

如何设置go gb以在vim内部构建,vim,go,Vim,Go,是否有人在vim中设置go gb作为您的makeprg?关于编译c代码的配置makeprg有各种各样的文档,但是现在我可以找到很多关于配置新命令的文档 理想情况下,我能够从vim运行:make命令,并在构建中使用errorformat set errorformat=%D(in\ %.%#)\ building\ pkg\ \"%f\",%f:%l:\ %m%.%#,%-G%.%# 要使用gb作为vim中的makeprg: $ cd mygodir $ vi main.go #inside v

是否有人在vim中设置go gb作为您的makeprg?关于编译c代码的配置makeprg有各种各样的文档,但是现在我可以找到很多关于配置新命令的文档

理想情况下,我能够从vim运行:make命令,并在构建中使用errorformat

set errorformat=%D(in\ %.%#)\ building\ pkg\ \"%f\",%f:%l:\ %m%.%#,%-G%.%#

要使用
gb
作为
vim
中的
makeprg

$ cd mygodir
$ vi main.go
#inside vi
# :set errorformat=%D(in\ %.%#)\ building\ pkg\ \"%f\",%f:%l:\ %m%.%#,%-G%.%#
#and then
# :set makeprg=gb
#now
#:mak
#will work as usual.

使用此错误格式时出现了什么错误?类似的东西对我起了作用。错误格式不是什么问题,我是从其他地方偷来的。问题是我不知道makeprg命令的语法,所以我不确定如何使用gb设置它。我假设如果我让它正确运行,这个errorformat会很好地工作。现在我有gb设置,它似乎试图构建我的整个主目录。如果您是从终端工作,那么我假设gb继承了执行vim的当前工作方向,但是我想要的是将makeprg设置为在打开的文件的当前工作目录中运行。如何使用标准make实现这一点?这不是一个与围棋相关的问题,而是一个与vi相关的问题。你不能:cd到当前目录,或者至少发出一个命令自动
:cd%:p:h
,这是个好问题。这可能是不可能的。我确实找到了vim项目插件,它可以自动将CD刻录到项目目录,非常适合任何makeprg设置。我想这就是我要做的。