我一直在使用vim integrated make命令来帮助我构建,修复,重复工作循环.我们正在转向使用makeprg轻松更改的新构建系统.
问题是新构建系统在构建之前将源代码复制到沙箱位置,因此当我收到编译错误时,vim会打开复制的文件.我最终改变了这个复制的文件,而不是主代码路径中的实际文件.
有些方法我可以通过某种方式告诉vim我的代码库路径是什么来解决这个问题?
至少有三种策略可以用来解决这个问题,遗憾的是,除了告诉vim"代码库路径"之外,它们都需要更多的工作.在选择之前,我建议您阅读:help make_makeprg以便更好地了解:make"引擎盖下" 的过程.
写一个shell/perl的/红宝石/不管脚本,从您的构建过程中过滤输出和重写文件名/sandbox/src/blah.c来src/blah.c或/sandbox/src以src适当的.然后makeprg在运行时更改为包含过滤器程序make(在您的.vimrc添加中:):set makeprg=make\ \\\|\ filter.这可能很容易做到,但根据您使用的确切构建系统可能会变得更加棘手.
更改errorformat(请参阅:help errorformat)以剥离沙盒前缀.在某些情况下,这可能是不可能的,具体取决于构建系统的确切输出格式.
QuickFixCmdPost在开始使用:cnext和朋友之前,添加将在quickfix窗口中重写文件路径的自动命令.如果您之前没有使用过Vim的自动命令功能,我会先尝试其他两种策略.它们功能强大且非常实用,但它们需要一些练习才能做到正确.
| 归档时间: |
|
| 查看次数: |
901 次 |
| 最近记录: |