Linux上的C ++开发Code :: Blocks,EMACS或GVIM

时间:2009-03-23 09:57:41

标签: c++ emacs ide vim

我不是在寻找关于C ++开发的IDE建议。我已经找到了很多讨论,并尝试了EMACS,GVIM和Code :: Blocks。我比其他两个更喜欢Code :: Blocks。但看起来大多数开发人员社区都在使用EMACS或GVIM等工具。是否有一个原因?为什么Code :: Blocks的使用较少?

我发现EMACS和GVIM对用户不太友好。你必须付出更多的努力来使它工作,但Code :: Blocks在这里占据优势。它易于启动和编译。或者我会错过什么?

由于

7 个答案:

答案 0 :(得分:7)

无论你最终使用哪种编辑器,都值得花几分钟时间至少学会在Vim中导航并执行基本的编辑任务,因为有些风格的vi是最常用的编辑器,特别是更专业的编辑器发行版。

答案 1 :(得分:7)

Code :: Blocks的使用较少,因为它不能像Emacs& amp; Vim的。在我使用不同编程语言的工作(在Emacs中),我经常创建一个新的脚本,使我的工作更容易。 Code :: Blocks允许仅在C ++中编写扩展,这需要做很多工作。

答案 2 :(得分:6)

Code :: Blocks是新进入者。另一方面,Vim和Emacs的存在时间更长。他们是原始的文本编辑。这些是在没有GUI时编写的,随着时间的推移而演变。 GUI后来被添加到这些中; GVim就是一个例子。像任何其他现代的基于GUI的IDE代码:: Blocks隐藏了你的奇怪的命令行调用,从而使它更加用户友好 - 对于那些在丰富的操作系统UI的令人兴奋的组合上工作的人: - )

答案 3 :(得分:4)

许多开发人员使用EMACS和vim,因为它们是优秀且功能强大的编辑工具,一旦学会,可以使日常编辑任务变得更加简单。两者都不是具有与Code :: Blocks相同意义上的IDE。 EMACS和Vim只是编辑器,但由于它们的实用性和寿命,它们已经积累了许多插件和扩展来模拟IDE的许多任务。

至于你想要学习的内容,这取决于你。如果你只是想要一个可以直接进入的IDE,你可能不会寻找Emacs和Vim,但是如果你想要一个非常强大的编辑器,虽然需要一段时间来学习,但最终会让你的生活变得更轻松,去Emacs或Vim。

答案 4 :(得分:1)

Code :: Blocks是一个不错的IDE,但是大多数Linux OSS项目都不希望依赖于IDE,而且编写的是任何可以驱动编辑器和使用make的人都可以构建它们。如果你要在Linux上做认真的工作,你需要学习vim或emacs之一。这并不是说你当然不能将Code :: Blocks用于自己的项目 - 我当然会这样做!

答案 5 :(得分:1)

Vi(m),Emacs在linux机器上无处不在。它们非常可扩展,可满足任何项目需求。由于Linux上的几乎所有项目(至少在我们公司)都是非常大的支持项目,因此您需要一个严肃的可配置工具来完成任务。您不需要IDE来快速创建小项目。一个项目。一种配置。多年的工作。

加。使用Vim或Emacs,您可以远程执行并填写正常。

答案 6 :(得分:1)

就个人而言,我不时地切换选择的IDE。例如,我已经使用了Code :: Blocks几年了,但现在跳过了它,因为某些原因编辑器窗口的延迟增加了,让我可以将整个短语输入盲区;我已经禁用了所有耗时的东西(我总是不经常使用),比如代码完成(也就是说,在我的Debian GNU / Linux安装上;在Windows上我仍然喜欢代码:: blocks)。

所以,我最近偶然发现了 Monodevelop ,尽管我不是mono / .net的最大粉丝,但这个IDE非常好用且可扩展。它有一个类浏览器和一个文件系统浏览器,还有一些我个人不使用的功能(它主要是单声道/ .net IDE,但也很好地支持C ++)。我不喜欢monodevelop的唯一一点是它不是基于scintilla,或者它不能被调整为像scintilla(我是它的复制+粘贴机制的重度用户)(*)。

我通常不在IDE内部编译,因为在分发应用程序或将其移植到其他操作系统时(通常使用makefile或CMake),这通常很痛苦。此外,如果您的应用程序转储了大量日志,或者您的编译器转储了史诗般的错误消息,那么使用(全屏)控制台/终端窗口进行编译非常方便。

(*)例如,您可以按CTRL + D以仅复制当前光标位置后面的标记文本。要了解它,请查看Notepad ++(win)或Scite(Linux)。