为了账号安全,请及时绑定邮箱和手机立即绑定

定义用于构建和加载错误文件的命令

定义用于构建和加载错误文件的命令

Go
holdtom 2021-06-04 21:43:35
我想定义一个命令,该命令将首先构建当前的Go源文件并加载 errors.err 文件以进一步使用诸如:cnextor之类的命令:clist。是)我有的:我将以下行添加到我的.vimrc:command Gobuild !go build %:t | grep -v "^\#" | tee errors.err但是我必须在:cfile之后做:Gobuild,因为它不是自动完成的。如何自动加载errors.err文件?试图附加:cfile到命令,它没有帮助。errors.err加载后自动删除也很有用。我知道有一种方法可以用 做这样的事情make,但我不喜欢它。UPD:一个笨拙的临时解决方案(在我深入研究建议的解决方案之前):function GoBuild()    silent !echo -e "make:\n\t@go build \${src} | grep -v '^\#' | tee" > %:t"_makefile"    make -f %:t"_makefile" src="%:t"    silent !rm %:t"_makefile"endfunctioncommand Gobuild call GoBuild()这里@防止make回显命令,grep过滤掉#command line arguments行,并且tee不打扰make错误代码grep(grep返回错误代码,注意过滤掉) -tee始终返回 0,OK错误代码。UPD:更好的解决方案autocmd FileType go set makeprg=go\ build\ %:t\ 2>&1\\\|grep\ -v\ '^\\#'\\\|teecommand Gorun !./%:r
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

一般来说,整个构建和报告错误业务围绕着两个选项:'makeprg'and'errorformat':make一系列与 quickfix 相关的命令的组合,例如:copenor :cnext~/.vimrc您只需要在其中添加几行即可。

查看完整回答
反对 回复 2021-06-07
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信