2014-01-31 52 views
7

我知道这听起来很愚蠢,但我已经在Vim编辑器上编写了一个C++代码,并且对于我来说,无法弄清楚如何编译和运行它。我知道这非常简单 - 我已经清醒了很久: - /感谢您的帮助!用Vim编译和运行C++程序

+1

嗯... Vim是一个文本编辑器。你必须使用_compiler_来编译你的程序;-)。 – rodrigo

+2

看一看http://stackoverflow.com/questions/2627886/how-do-i-run-ac-program-from-vim –

+0

你可以看到这个[问题] [1],但使用IDE会更好认为。 [1]:http://stackoverflow.com/questions/2627886/how-do-i-run-ac-program-from-vim – serkos

回答

-2

只需输入到vim

:wq 

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

g++ -o myCode myCode.cpp 

编辑:你所有的选民都请阅读本人Bram Moolenaar撰写的vim用户手册的第21部分:“走开并回来”。 :help user-manual会让你在那里。他基本上说,在vim中编译或保存并退出,编译,然后再回来很酷。通过本节的标题,我假定布拉姆更喜欢后者。他肯定已经制作了vim以最优秀的方式处理后者。当我“回到”任何文件时:光标位于同一行和列处,我可以像以前一样撤消和重做,并且所有的历史记录,搜索,注册,以及所有内容都与我离开它完全一样。我离开的时候基本上看不出什么区别!

重新编辑:让所有你再次选择下来的选民 - 窥视许多不同的方式使用vim有很多不同的原因。我一直在炮弹级别做这么多事情,以至于不断地在vim中是痛苦的白痴。你当选的人显然是在完全不同的情况下工作,在这种情况下,你很高兴待在编辑之内。请停止以与你一样的方式工作。

+1

+1 ...感谢提醒回来..我完全忘了我们经常在大学实验期间使用这个功能..;) –

+6

这不是非常vim。每次你想编译时关闭并重新打开vim是非常低效的。你最好使用像':make'这样的内置命令(参见我的答案)。 – Jon

+0

@Jon我一直在使用'vim'(因为它是'vi'!)*非常*有效地为蓝筹公司开发代码几十年(!),这就是我如何滚动......我认为'bash '运行'make'的* * *很有用的工具,或者在编辑文件后我想要使用的任何工具。 –

5

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

+1

文本编辑器应该用于操纵文本,Unix哲学 – Blaze349

22

:make的确是要走的路Jonsaid

在类似于Linux的系统上(它也适用于cygwin,但不适用于Windows系统)系统,其中安装了gnumake,如果项目中没有Makefile,并且项目仅由一个文件组成,只需输入:make。这将是足够的(你可以玩$CXXFLAGS$CFLAGS$LDFLAGS调整编译选项)。然后运行程序,键入:!./%<(IIRC)。

如果你的项目是由几个文件,那么你就需要一个Makefile采取:make优势。

如果用CMake的管理您的项目,如果你编译项目目录(或几个 - >调试,释放,......)的源树之外,那么整合将需要一个插件。据我所知,我提出这样一个插件只有一个:BuildToolsWrapper集成的CMake的管理(build目录的选择,可能性调试之间进行选择,或释放,或任何build目录)。它必须加上一个local_vimrc插件。

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

+1

这应该是被接受的答案。 – Secko