如何在Windows上使用Vim编译C++代码?

3
首先,我在这台Windows 7笔记本电脑上以“Typical”类型安装了Vim(文本编辑器)。我正在使用的用户是计算机管理员,但无法使用Vim在“Program Files”位置打开文件进行写入。因此,我将我的:cd当前目录更改为我的$HOME。
注意:我已经安装了Visual Studio Express for Windows Desktop,我只是想学习如何使用它。
问题如下:
1. 我可以在Windows上仅使用Vim(Typical类型)编译C++代码吗? 2. 如果可能的话,编译C++代码的过程是什么?
我有hello.cpp文件,但无法编译它。我已经使用:comp gcc和:make命令,输出结果为“'make'不是内部或外部命令”,
但是当我使用:comp msvc和:make命令时,输出结果为“'nmake'不是内部或外部命令”。
现在该怎么办?如果不能仅使用Vim,那么如何在Vim中使用VS Express for Desktop上的编译器进行编译呢?

2
vim 本身无法编译 C/C++ 代码。您需要安装编译器。 - devnull
1
msbuild将随VS一起发布,而不是make。 - doctorlove
3
在 vi 中使用 :!<CommandHere> 来执行命令。虽然我从不使用这个功能,但我总是打开一个单独的终端来运行 make 命令,因为那样更容易阅读并响应编译器输出。 - Andon M. Coleman
1
虽然我赞成使用vim和命令行,但为什么不打开Visual Studio并从那里编译(在构建菜单下)? - doctorlove
1
@devnull 你觉得 $VIMRUNTIME\compiler\gcc.vim 或者 $VIMRUNTIME\compiler\ 目录下的其他文件怎么样? - 5ervant - techintel.github.io
2
您需要正确设置 PATH 环境变量才能找到 nmake - 它位于 VS 安装文件夹之一中,或者从 “VS 命令行” 快捷方式启动 vim。 - molbdnilo
2个回答

7

VIM是一个很好的文本编辑工具,就像Notepad的升级版一样。但它不是一个编译器,也没有内置的编译器。因此,为了编译程序,您需要安装一个单独的编译器,比如您可以使用MinGW。

查看这个链接:如何在Windows上使用MinGW与Vim


如果您想要深入地帮助我,请阅读我在 Pavel K 的回答下的先前评论:https://dev59.com/8HbZa4cB1Zd3GeqPG4rC#iMEJoYgBc1ULPQZF0ENP - 5ervant - techintel.github.io

3
Vim只是一个编辑器工具。要编译程序,您需要使用编译器工具链。Visual Studio使用的是Microsoft Visual Studio C++编译器,因此您可以使用它。或者安装并使用gcc。
您正在生成的make文件由make实用程序用于为您实际编译代码。这个工具有Windows版本。
但是,我建议您手动执行最少的步骤来编译c ++程序,以更好地理解该过程:
创建源.cpp文件->使用编译器创建对象文件->使用链接器创建可执行文件
Visual c++的逐步指南在这里。
如果您喜欢使用gcc,在Windows上安装和使用的方法可以参考以下链接:安装使用

Vim已经包含了*$VIMRUNTIME\compiler\gcc.vim*脚本?那么你的意思是,为了能够使用它,我需要安装gcc吗? - 5ervant - techintel.github.io
2
@Servant 不需要 - 通常在Linux上使用gcc和make来编译程序。Visual Studio的做法不同。或者,您也可以安装make工具并使用它。请参见http://msdn.microsoft.com/en-us/library/ms235639.aspx以获取命令行说明。 - doctorlove
1
我认为编译器生成目标文件,而链接器将它们链接起来? - doctorlove
@PavelK现在我知道如何在Developer Command Prompt for VS2012的命令行上编译C++程序了。那么现在如何使用Vim在命令行上进行编译?以及:comp msvc命令的目的是什么?*/compiler目录中的脚本,例如$VIMRUNTIME\compiler\msvc.vim*脚本有什么用?我认为msvc意味着“Microsoft Visual C++”。:make又是什么用途? - 5ervant - techintel.github.io

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接