我正在使用VIM处理Visual Studio解决方案,并编写了一个从当前文件向上搜索文件系统并查找第一个* .sln文件的函数。将makeprg设置为VIM功能?
我想要做的是这样的:
这样一来,我可以用我的当前设置的键绑定为:make
来构建解决方案文件。
这可能吗?
我正在使用VIM处理Visual Studio解决方案,并编写了一个从当前文件向上搜索文件系统并查找第一个* .sln文件的函数。将makeprg设置为VIM功能?
我想要做的是这样的:
这样一来,我可以用我的当前设置的键绑定为:make
来构建解决方案文件。
这可能吗?
我已经找到了解决办法,虽然不是技术上的答案,我自己的问题:)
由于我加载每当我进入一个C#或VB.net缓冲编译器设置,我只是要做到:
let &l:makeprg='"devenv.com "' . FindSLN() . '" /Build Debug"'
在编译器设置文件中。这给了我想要的效果,但是它在技术上不会将makeprg设置为在调用:make
时将被评估的函数,就像最初请求的那样。
您可以定义的映射/功能/命令/ whatver说:
就我个人而言,当我编辑目录中的文件(that I associate to a project)时,我宁愿设置makeprg。和几个映射切换编译模式方面(调试/释放,背景/否,目标(交叉编译/否),多线程编译/否)等。每当其中一个方面发生变化时,我都会更新makeprg。
我发现了一个解决方案,虽然在技术上不是我自己的问题的答案:)因为我每次进入C#或VB.net缓冲区时加载编译器设置,我只是在做一个'let&l:makeprg =' “devenv.com”。 FindSLN()。 '“/ Build Debug”“在编译器设置文件中。我会留下这个问题,但让其他人有机会回答。 – rossipedia 2011-03-29 17:06:57
最好将解决方案作为答案发布。 – 2011-07-31 09:58:39
尽管没有严格回答您的问题,但我发现我最喜欢的工作流是将':cd'(或更改':Ex'中的dir)到项目的根目录。然后你可以简单地':set makeprg = msbuild'。 – 2013-01-30 13:50:49