我假设你的 Vim 版本是 windows 版本而不是 cygwin 版本。
首先,您需要安装编译器,并确保它在您的路径中。
另外,请阅读有关快速修复窗口的文档,因为这是融合的vim方式编译。:!make
or :!g++ ...
不是要走的路。
MSVC
我不认为这是您拥有的编译器,因为我预计您在这种情况下会使用 Visual Studio。无论如何,IIRC,有一个msdev
您可以加载的编译器插件:compiler msdev
,那么你应该能够运行:make
.
如果您发现错误,请立即完成我的回答。
g++ 通过 cygwin
有一个很大的优点:gnumake配置正确:在控制台中你可以运行make foo
,如果你有foo.cpp
or foo.c
and no Makefile
在当前目录中,这将编译单文件项目。在所有情况下,Makefile
很好;并且需要多个源文件。
大问题:路径名的表达方式不同。它们需要翻译。我在 Build-Tools-Wrapper 插件中提供了一种方法来做到这一点。只需执行:BTW add cygwin
.
然后从 vim 中再次输入:make %<
。这将转化为:make foo
(假设你正在编辑foo.cpp
),翻译成make foo
shell 明智的,这翻译成$CXX $CPPFLAGS $CXXFLAGS $LDFLAGS foo.cpp -o foo $LDLIBS
(或类似的东西)。
注意:这意味着可以通过以下方式调整选项::let $CXXFLAGS = '-std=c++17 -Wall -Wextra'
顺便说一句,如果你有我的 build-tools-wrapper 插件,你可以直接执行:Make
代替:make %<
, 要不就<F5>
直接,IIRC。
g++ 通过 mingw
好消息:无需翻译路径名
坏消息是,gnumake 没有正确配置。这意味着在控制台中make foo
行不通的。因此,这在 Vim 中不起作用。
这次,您要么需要Makefile
,否则你需要调整'makeprg'
环境。比如说:let &makeprg = 'g++ -Wall -Wextra -std=c++17 -o %< %'
然后简单地输入:make
.