2006 LinuxQuestions.org Members Choice AwardsThis forum is for the 2006 LinuxQuestions.org Members Choice Awards.
You can now vote for your favorite products of 2006. This is your chance to be heard! Voting ends February 18th.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Well, when someone says about Vim or Emacs as IDE, the editor + gdb + gcc/g++/fpc/whatever + make + integration of control into editor is suggested. Surely it is a must not to leave editor for every compile, and to navigate source code easily.
Compilation = M-x compile -> settable by major-mode and (of course) by buffer
Fixing = Click on an error line in the compiler results -> goto that line / column and edit away (compiler message parser definable by regex)
Navigation = IMenu / etags -> build a list of functions / classes / etc (definable by regex) for instant navigation via cmd or menu
Source control = C-x v prefix -> supports a lot of version control systems, even darcs
Debugging = GDB -> can interact with at least gdb, probably others too 
Notice I'm not saying anything about Vim because I don't use it for programming. So Vim users are welcome to add their own arguments for why Vim is an IDE.
Now some things that Emacs is more or less lacking ...
Project Support = managing a set of files as a project unit
Autocompletion = while some support is available, it's nothing like Eclipse or VisualStudio has
So, barring anything I may have forgotten, if you think those last two are absolutely essential to being an IDE, I guess you wouldn't think Emacs is one.
 Actually, I've never used this functionality before, because I simply don't use debuggers for a lot of my code (like SML). But conceivably, Emacs could work with almost any debugger or interpreter through shell mode.
For Vim Navigation, Compilation, Fixing and Debugging points are nearly the same.
For version control and project file grouping you need to download something from www.vim.org . Completion.. There is some, but it is text-only. Convenient if good names are used for variables and functions, though.
Another vote for Vim here (which won't show up in the results ).
As others have pointed out, Vim has support for an integrated edit-compile-fix-compile-run cycle, RCS/CVS/SVN/Darcs and project files. Plus everything else you could ask from an IDE: syntax highlighting, a powerful diff tool, auto-indentation, source-code navigation, folding, ... Version 7 adds some nifty new features like autocompletion and improved debugger support.
All in all, I don't see why Vim shouldn't qualify as IDE if Emacs does.