使用方法:制作后不打开空白文件?

时间:2014-03-27 01:06:19

标签: visual-c++ vim compilation msbuild

我正在开发一个C ++应用程序,每当我使用:make my_project.vcxproj:compiler msvc以及:set makeprg=msbuild调用:set shellpipe=>%s 2>&1时,vim会打开一个名为{{的Build Started 26\03\2014空白文件1}}。

我尝试使用shellpipe选项:将其设置为空白,:set shellpipe=导致vim在新窗口中打开msbuild并在那里显示结果,并且不向quickfix。设置:set shellpipe=>会打开一个类似命名的空白文件,但会丢失部分日期。

如何让vim避免为make命令的输出打开一个新的缓冲区?

1 个答案:

答案 0 :(得分:1)

结果是转到quickfix,可能是第一行之一是关于构建开始的消息。

Vim可能会将该行解释为包含文件名和行号的错误/警告消息,并尝试跳转到该行。

:make命令调用makeprg,然后跳转到第一个错误。您可以使用:make!来避免跳转到第一个错误,这会阻止打开名为" Build Stared ..."的缓冲区。

您还可以尝试调整由errorformat命令设置的:compiler,以便让Vim正确解析quickfix内容,还可以使用:cn和{ {1}}导航它。您可以使用mscv编译器作为起点 - 它可以在$ VIMRUNTIME / compiler文件夹中找到。您可能可以基于cs.vim(在同一文件夹上),其中:cp为MS Visual Studio C#设置。