在vim中设置"构建目录"?

sta*_*tti 10 ide vim build

有没有办法告诉vim makeprg在特定目录中运行?我使用每个项目.vimrc文件,它们似乎是告诉vim每个项目应该在哪里构建的最佳位置,无论当前目录如何.

seh*_*ehe 10

 :let &makeprg='(cd /tmp && make)'
Run Code Online (Sandbox Code Playgroud)

似乎对我很好

 :se makepgr="(cd %:h/.. && make)" 
Run Code Online (Sandbox Code Playgroud)

使其进入父目录

注意

当我尝试时,上面的工作在窗户上; 今天在Linux上我发现我不得不使用以下咒语来实现同样的工作:

:let &makeprg='(cd %:h/.. && make)'
Run Code Online (Sandbox Code Playgroud)

注意:我假设你不实际使用化妆,因为这将是一个简单的:make -C /tmp

注意大多数其他自动构建系统都有类似的选项,例如:!scons -C /tmp

  • @Neg_EV:也许只是`:let &mp='make -C $MY_BUILD_DIR'` 就可以了 (2认同)