使用Vim编译和运行C ++程序[重复]

问题描述 投票:7回答:3

这个问题在这里已有答案:

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

c++ vim
3个回答
3
投票

只需输入vim

:wq

然后,在你的命令行上,调用不是vimg++clang++或类似的编译器:

g++ -o myCode myCode.cpp

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

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


30
投票

qazxsw poi确实是像qazxsw poi qazxsw poi那样的方式。

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

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

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

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


5
投票

这取决于您构建软件的方式。如果您正在使用make,则可以在vim提示符下输入local_vimrc。键入:!g++ -o %< %以查看选项和支持命令,以便循环查看代码中的错误。

© www.soinside.com 2019 - 2024. All rights reserved.