默认情况下,makeprg只设置为make。但是,我有很多项目,不同的构建配置和目标驻留在同一个目录中。
当然,这需要我在调用make时指定一个目标。
例如,我有一个通过调用<foo>.cpp构建源文件make foo的项目,该项目包含许多这样的源文件。
当我编辑Vim中的said <foo>.cpp 时,makeprg 被设置为 make <foo>**?** --我在每个文件中都考虑过建模,但是禁止通过modeline设置makeprg (出于安全考虑)。
请注意,此设置仅适用于某些项目,因此我不希望修改make的通用值,否则我只需
set makeprg=make\ expand("%:t:r")(或类似的东西)在我的.gvimrc。
发布于 2010-07-28 16:39:51
发布于 2010-07-28 15:04:50
你应该能够绘制:make %<地图,我相信它能做你想做的事
发布于 2010-07-29 20:44:42
如果您可以根据项目的文件夹而不是modeline来区分您的项目,那么应该可以使用自动命令进行类似的操作。下面是来自:help autocmd-patterns的示例和示例代码的组合。
:autocmd BufRead /source/foo-project/*.cpp set makeprg=make\ expand("%:t:r")(请注意,我没有测试这个确切的命令,而是根据vimrc中的文件类型设置makeprg的一些自动命令)
https://stackoverflow.com/questions/3354059
复制相似问题