使用Vim编译和运行C ++程序

时间:2014-01-31 07:29:01

标签: c++ vim

我知道这听起来真的很愚蠢,但我在Vim编辑器上编写了一个C ++代码,但我的生活中无法弄清楚如何编译和运行它。我知道这非常简单 - 我已经醒了太久了: - /感谢你的帮助!

3 个答案:

答案 0 :(得分:30)

:make确实是Jon said的方式。

在类似Linux的情况下(它也适用于cygwin,但不适用于Windows上的mingw)安装了gnumake的系统,如果你的项目中没有Makefile,并且你的项目只有一个文件,只需输入:make即可。这就足够了(您可以使用$CXXFLAGS$CFLAGS$LDFLAGS来调整编译选项。然后,要运行该程序,请键入:!./%<(IIRC)。

如果您的项目由多个文件组成,那么您需要一个Makefile来利用:make

如果您使用CMake管理项目,并且如果您在源目录树之外的目录(或几个 - > debug,release,...)中编译项目,那么集成将需要一个插件。 AFAIK,我是唯一提出这样一个插件的人:BuildToolsWrapper集成了CMake的管理(构建目录的选择,在调试或发布之间选择的可能性,或者任何构建目录)。它必须与local_vimrc插件中的一个耦合。

在所有情况下,使用:!g++ -o %< %从Vim内部(或外部)直接调用编译器,或者15年前我们在vi上执行的操作。 Vim有一个很棒的功能:它可以集成(是的,就像在IDE中一样)编译器。见:h quickfix。直接从编辑器中导航错误要比用我们的眼睛提取一个错误行,在编辑器中键入行号,返回到shell以查看究竟被拒绝的内容要容易得多,......在C中可能已经足够了,但是在C ++中,当我们“试图调用一个不存在的重载”时,我们无法以这种方式工作(在编辑器和shell之间来回切换)。

答案 1 :(得分:5)

这取决于您构建软件的方式。如果您正在使用make,则可以在vim提示符中输入:make。键入:h make以查看允许您在代码中循环显示错误的选项和支持命令。

答案 2 :(得分:3)

只需输入vim

:wq

然后,在命令行上,调用编译器,它不是vim,而是g++clang++或类似的东西:

g++ -o myCode myCode.cpp

编辑:所有选民都请你阅读vim用户手册第21节,由Bram Moolenaar自称为“走开然后回来”。 :help user-manual会帮助你。他基本上说在vim中编译或保存并退出,编译,然后返回是很酷的。根据该部分的标题,我认为Bram更喜欢后者。他当然以精心制作的vim以最优秀的方式处理后者。当我“回到”任何文件时:光标位于同一行和列中,我可以像以前一样撤消和重做,我所有的历史记录,搜索,注册,以及所有内容都与我离开时完全相同。我离开的时候基本上看不出任何差别!

重新编辑:再次向所有选民致敬 - 由于许多不同的原因,偷看会以多种不同的方式使用vim。我一直在shell级别这么做,以至于在vim中持续保持愚蠢的痛苦。你失望的选民显然在完全不同的情况下工作,你可以留在编辑里面。请停止认为所有窥视的工作方式与您一样。