首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Vim中通过modeline设置“makeprg”

在Vim中通过modeline设置“makeprg”
EN

Stack Overflow用户
提问于 2010-07-28 14:48:20
回答 3查看 3.2K关注 0票数 4

默认情况下,makeprg只设置为make。但是,我有很多项目,不同的构建配置和目标驻留在同一个目录中。

当然,这需要我在调用make时指定一个目标。

例如,我有一个通过调用<foo>.cpp构建源文件make foo的项目,该项目包含许多这样的源文件。

当我编辑Vim中的said <foo>.cpp 时,makeprg 被设置为 make <foo>**?** --我在每个文件中都考虑过建模,但是禁止通过modeline设置makeprg (出于安全考虑)。

请注意,此设置仅适用于某些项目,因此我不希望修改make的通用值,否则我只需

代码语言:javascript
复制
set makeprg=make\ expand("%:t:r")

(或类似的东西)在我的.gvimrc

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-28 16:39:51

我正在使用我的插件,它允许特定于项目的设置来调优这类事情。这样,我的.vimrc就不会被特定于项目的东西弄得乱七八糟。相反,在每个项目根目录中,我都有一个包含各种设置的_vimrc_local.vim文件。

另一种解决方案是将:make调用封装到另一个命令或映射中,该命令或映射使用一个变量调用:make,您可以使用另一个插件:让-模型设置该变量。

PS:.gvimrc包含特定于vim图形版本的内容。通过将您的设置放入您的.gvimrc中,将不会配置普通vim。

票数 4
EN

Stack Overflow用户

发布于 2010-07-28 15:04:50

你应该能够绘制:make %<地图,我相信它能做你想做的事

票数 1
EN

Stack Overflow用户

发布于 2010-07-29 20:44:42

如果您可以根据项目的文件夹而不是modeline来区分您的项目,那么应该可以使用自动命令进行类似的操作。下面是来自:help autocmd-patterns的示例和示例代码的组合。

代码语言:javascript
复制
:autocmd BufRead /source/foo-project/*.cpp set makeprg=make\ expand("%:t:r")

(请注意,我没有测试这个确切的命令,而是根据vimrc中的文件类型设置makeprg的一些自动命令)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3354059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档