我想定义一个命令,该命令将首先构建当前的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 相关的命令的组合,例如:copen
or :cnext
。~/.vimrc
您只需要在其中添加几行即可。
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报
0/150
提交
取消