对于在sourcefiles的父目录中具有Makefile的项目,在vim中我将makeprg变量设置为:
:set makeprg=[[\ -f\ Makefile\ ]]\ &&\ make\ \\|\\|\ make\ -C\ ..
Run Code Online (Sandbox Code Playgroud)
正如这个帖子所建议的那样
此子代码对于父目录中的Makefile非常有用,但是当Makefile位于当前目录中时会中断.
vim make和无限循环:make命令.如果它没有找到Makefile,我已经玩过运行的命令,并且我已经确定在运行make之后,vim仍会运行三元组的失败案例(作为编辑器命令).
因此新的召唤:使扩展成为另一个:无限制.
如何阻止vim尝试执行此操作?
运行三元组的失败情况是因为显然make当前目录中的调用返回错误.您可以通过以下设置来防止此缺陷makeprg:
:let &makeprg = 'if [ -f Makefile ]; then make; else make -C ..; fi'
Run Code Online (Sandbox Code Playgroud)
使用该let构造避免了逃逸标志的必要性.这是在你提到的同一个线程中提出的,这里.
或者您可以修复make当前目录中的问题,以便它不会返回错误代码...
| 归档时间: |
|
| 查看次数: |
1693 次 |
| 最近记录: |