<p>Even though I have a robust and fast computer (Pentium Dual Core 2.0 with 2Gb RAM), I'm always searching for lightweight software to have on it, so it runs fast even when many apps are up and running simultaneously.</p>

<p>On the last few weeks I've been migrating gradually to Linux and want to install a free lightweight yet useful IDE to program on C++ and PHP.  Syntax highlighting and code completion tips are must-haves.</p>

[{'answer_id': 2762, 'author': 'andrewrk', 'author_id': 432, 'author_profile': 'https://Stackoverflow.com/users/432', 'pm_score': 5, 'selected': True, 'text': '<p><a href="http://projects.gnome.org/gedit/" rel="nofollow noreferrer">gedit</a></p>\n\n<ul>\n<li>Syntax highlighting</li>\n<li>Fast, lightweight</li>\n<li>Tabs</li>\n<li>GUI</li>\n</ul>\n'}, {'answer_id': 2783, 'author': 'num1', 'author_id': 306, 'author_profile': 'https://Stackoverflow.com/users/306', 'pm_score': 4, 'selected': False, 'text': "<p>emacs has been used by linux programmers for decades. It features syntax highlighting, it's fast, and there are a million tutorials out there you can find.</p>\n"}, {'answer_id': 2787, 'author': 'sparkes', 'author_id': 269, 'author_profile': 'https://Stackoverflow.com/users/269', 'pm_score': 0, 'selected': False, 'text': "<p>any of the popular editors can be turned into an ide.</p>\n\n<p>I use Vi on the console and have used various gui editors over the years.  This doesn't just go for linux I use Crimson Editor on windows as a C/python/z80asm ide.</p>\n"}, {'answer_id': 2862, 'author': 'Joey deVilla', 'author_id': 216, 'author_profile': 'https://Stackoverflow.com/users/216', 'pm_score': 3, 'selected': False, 'text': '<p>I bounce about between Mac, Windows and Ubuntu and while Emacs used to be my editor of choice, I\'m finding that in my old age I prefer to something GUI-based (using command-line for the shell is still fine by me). My preferred editor is <a href="http://www.activestate.com/Products/komodo_ide/komodo_edit.mhtml" rel="nofollow noreferrer" title="Komodo Edit">Komodo Edit</a>, which the advantages of:</p>\n\n<ul>\n<li>Being free (as in beer)</li>\n<li>Available for Mac, Windows and Linux</li>\n<li>Syntax highlighting for a boatload of languages, including C++ and PHP (I\'m using it for Ruby, Python and PHP myself)</li>\n<li>Code completion, even for classes I defined myself</li>\n<li>Ability to "remote save" via FTP, SFTP or SCP</li>\n<li>Support for organizing your files into projects</li>\n<li>Tabs and other interface niceties</li>\n</ul>\n\n<p>I\'m not sure how lightweight it is, but it certainly feels snappier than Eclipse!</p>\n'}, {'answer_id': 2938, 'author': 'Mario Marinato', 'author_id': 431, 'author_profile': 'https://Stackoverflow.com/users/431', 'pm_score': 3, 'selected': False, 'text': '<p>Joey, I believe anything is lighter than Eclipse!  :o)</p>\n'}, {'answer_id': 4937, 'author': 'mreggen', 'author_id': 613, 'author_profile': 'https://Stackoverflow.com/users/613', 'pm_score': 4, 'selected': False, 'text': '<p><a href="http://en.wikipedia.org/wiki/Vim_(text_editor)" rel="nofollow noreferrer">Vim</a> (or Emacs varying on religion) will always be my first answer to this question, over any point-and-click IDE.\nAs they write in <a href="http://en.wikipedia.org/wiki/Pragmatic_Programmer" rel="nofollow noreferrer">The Pragmatic Programmer</a></p>\n<blockquote>\n<p>Choose an editor, know it thoroughly, and use it for all editing tasks. [...] The editor will be an extension of your hand; the keys will sing as they slice their way through text and thought. That\'s our goal.</p>\n<p>Make sure that the editor you choose is available on all platforms you use.</p>\n</blockquote>\n<p>Vim is configurable, extensible, programmable and can be turned into an IDE with all the regular features. Lately I\'ve been using <a href="http://eclim.sourceforge.net/" rel="nofollow noreferrer">Eclim</a> to &quot;bring Eclipse functionality to the Vim editor&quot; (projects, better java support etc.) making it a complete platform with advanced IDE features.</p>\n'}, {'answer_id': 5036, 'author': 'codemac', 'author_id': 660, 'author_profile': 'https://Stackoverflow.com/users/660', 'pm_score': 4, 'selected': False, 'text': '<p>If you are taking your time switching to linux, I\'d switch to emacs or vim at some point as well.  There will always be a resource or a document describing <em>exactly</em> the problem you are having with either of them, and generally a solution is just a few more clicks down the road.</p>\n\n<p>Emacs may be easier at the beginning because of modeless editing... but don\'t let modal editing scare you away from Vim.</p>\n\n<p>The key with either Vim or Emacs is knowing it could probably take you the better part of the day just to figure out what you want them to do, let alone how to get them to do that.</p>\n\n<p>Once they work for you though, you\'ll see why mostly everyone is in one of two camps.</p>\n\n<p><strong>General hints:</strong></p>\n\n<ul>\n<li>Setting up a Makefile for your project is almost always worth it.</li>\n<li>Using cscope and or ctags will make your life easier.</li>\n</ul>\n\n<p><strong>Vim hints:</strong></p>\n\n<ul>\n<li>:make</li>\n<li>:cn, :cp</li>\n<li>OmniCompletion</li>\n<li>using BufRead autoloads to set what :make should do depending on file type</li>\n</ul>\n\n<p><strong>Emacs hints:</strong></p>\n\n<ul>\n<li>ecb is fun</li>\n<li>M-x dired</li>\n<li>M-. M-, M-* M-x complete-tag for etags</li>\n<li>M-x compile</li>\n<li>(add-hook \'mylanguage-mode-hook \'(lambda () (setq my-customizations t)))</li>\n</ul>\n\n<p>And check out other people\'s <a href="http://dev.codemac.net/config.git" rel="nofollow noreferrer">customizations</a> for examples of what other people do.</p>\n'}, {'answer_id': 11664, 'author': 'Adam Lassek', 'author_id': 1249, 'author_profile': 'https://Stackoverflow.com/users/1249', 'pm_score': 1, 'selected': False, 'text': '<p>I\'m not sure exactly what you mean by \'lightweight,\' but here are a few popular IDEs for linux:</p>\n\n<p><a href="http://anjuta.sourceforge.net/" rel="nofollow noreferrer">Anjuta</a> for Gtk/Gnome<br>\n<a href="http://www.kdevelop.org/" rel="nofollow noreferrer">KDevelop</a> or <a href="http://quanta.kdewebdev.org/" rel="nofollow noreferrer">Quanta</a> for KDE<br>\n<a href="http://www.codeblocks.org/" rel="nofollow noreferrer">CodeBlocks</a> runs on Windows/Mac/Linux and is written in C++</p>\n\n<p>None one of these are Java, so they automatically have an edge over Eclipse for performance ;)</p>\n\n<p>Another option is <a href="http://www.monodevelop.com/" rel="nofollow noreferrer">MonoDevelop</a>, which is geared towards .Net/Gtk# programming but also includes C++ support.</p>\n'}, {'answer_id': 109061, 'author': 'Zoran Loncarevic', 'author_id': 19587, 'author_profile': 'https://Stackoverflow.com/users/19587', 'pm_score': 4, 'selected': False, 'text': '<p>Console editors, such as <a href="http://www.gnu.org/software/emacs/" rel="nofollow noreferrer">emacs</a> and <a href="http://www.vim.org/" rel="nofollow noreferrer">vi</a>, are more lightweight than their GUI counterparts, and (at least those two are) just as capable as any other IDE (syntax highlighting, mouse support, ctags, autocompletion ... all the way to gdb integration). The learning curve might be somewhat steep, and you might have to do some customization, but its all worth it. Also, vi is present on every installation of unix-like operating system.</p>\n\n<p>Amongst X applications, there are </p>\n\n<ul>\n<li><p><a href="http://www.gnome.org/projects/gedit/" rel="nofollow noreferrer">gedit</a> which comes with GNOME and has many of these IDE features (see, for example, <a href="http://www.micahcarrick.com/09-29-2007/gedit-html-editor.html" rel="nofollow noreferrer">this blog entry</a>), </p></li>\n<li><p><a href="http://www.geany.org/" rel="nofollow noreferrer">Geany</a> - really fast, depends only on GTK, and with even more features including code folding. </p></li>\n</ul>\n\n<p>These would be lightweight IDEs, as opposed to heavyweights like <a href="http://anjuta.sourceforge.net/" rel="nofollow noreferrer">Anjuta</a>, <a href="http://www.kdevelop.org/" rel="nofollow noreferrer">KDevelop</a>, <a href="http://www.eclipse.org/" rel="nofollow noreferrer">Eclipse</a> or <a href="http://www.netbeans.org/" rel="nofollow noreferrer">NetBeans</a>.</p>\n'}, {'answer_id': 109076, 'author': 'unexist', 'author_id': 18179, 'author_profile': 'https://Stackoverflow.com/users/18179', 'pm_score': 1, 'selected': False, 'text': '<p>This is a really religious question - just choose the one you like. Every editor has it\'s pros/cons and you need to decide which set suits best to you. There are many IDEs out there that can use various editors like <a href="http://pida.co.uk/" rel="nofollow noreferrer">Pida</a>.</p>\n'}, {'answer_id': 329687, 'author': 'Adam', 'author_id': 1366, 'author_profile': 'https://Stackoverflow.com/users/1366', 'pm_score': 2, 'selected': False, 'text': '<p>How has no one mentioned <a href="http://www.codeblocks.org/" rel="nofollow noreferrer">Code::Blocks</a>!</p>\n\n<p>Not only is it a fantastic Open Source IDE for C++, but it\'s fully cross platform, so if you need to work on a Windows or Mac box for a bit, you can use the exact same IDE, and exact same project files to do so! Which is great for cross-compiling!</p>\n'}, {'answer_id': 2047957, 'author': 'teZeriusz', 'author_id': 166926, 'author_profile': 'https://Stackoverflow.com/users/166926', 'pm_score': 0, 'selected': False, 'text': '<p>what about eclipse with <a href="http://www.eclipse.org/linuxtools/" rel="nofollow noreferrer">linuxtools</a>?</p>\n'}, {'answer_id': 4704825, 'author': 'Chris Hasiński', 'author_id': 577315, 'author_profile': 'https://Stackoverflow.com/users/577315', 'pm_score': 1, 'selected': False, 'text': "<p>Nobody mentioned Kate. It's easier than vi for start (and has nice vi-mode for those, who want to migrate to vi), has more options than gedit (And better syntax highlighting). It also has kioslaves support (nice for remote server PHP development) and it's only a little bit more CPU-demanding than gedit. It can also have built-in console (extremely helpful if you want to quick grep through files or compile the project).</p>\n\n<p>There are also features like:</p>\n\n<ul>\n<li>basic code completion</li>\n<li>advanced indentation and block selection operations</li>\n<li>good and very clean (to read) find/replace with regexp</li>\n<li>comment-out on ctrl+d (it comments out one line or one function if used on function header)</li>\n</ul>\n\n<p>and a lot more...</p>\n"}, {'answer_id': 5309340, 'author': 'will', 'author_id': 108350, 'author_profile': 'https://Stackoverflow.com/users/108350', 'pm_score': 0, 'selected': False, 'text': '<ul>\n<li>You can look at <a href="http://en.wikipedia.org/wiki/JEdit" rel="nofollow">jEdit</a> if you are using or have Java installed.</li>\n<li><a href="http://en.wikipedia.org/wiki/JEdit" rel="nofollow">jEdit</a> (<a href="http://en.wikipedia.org/wiki/JEdit" rel="nofollow">wikipedia article</a>)</li>\n</ul>\n\n<p>Again it\'s a \'smart editor\' rather than an IDE.  Seems to know how to handle most languages and once its started it is pretty smart, still Java but less resource hungry than Netbeans and Eclipse.</p>\n'}, {'answer_id': 7103219, 'author': 'David Muriuki', 'author_id': 899992, 'author_profile': 'https://Stackoverflow.com/users/899992', 'pm_score': 0, 'selected': False, 'text': '<p>I would say <strong>Bluefish</strong>, not an I.D.E but a nice lightweight code editor with syntax highlighting and code completion (and many others) for quite an array of languages (among them <strong>C</strong> and <strong>Php</strong>).</p>\n'}]
['https://Stackoverflow.com/questions/2756', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/431/']