Quote:Original post by ToohrVykQuote:Original post by Rydinare
The fact that people are choosing to use vim and Emacs as their primary editor at this point almost seems ridiculous, though.
I use emacs because it's more flexible than the other editors:
- It handles OCaml. This includes a decent toplevel interaction system which I've seen in no other IDE. It also provides correct syntax highlighting: C-based IDEs generally fail to recognize nested comments, type parameters ('a is not the beginning of a character literal) or even highlight types.
- It handles LaTeX. It's auto-configured upon install, it's free, and it provides a reasonable amount of built-in WYSIWYG with minimal effort. Few editors I've seen handle LaTeX this well, and most that do are unusable for anything else and cost money.
- It handles XML and HTML, and also performs automatic validation of code. While not as advanced as a dedicated HTML editor, it's enough for my needs and doesn't require me to have several editors running at the same time.
- It handles C, C++, PHP, Java correctly without requiring anything more than apt-get install whatever-mode.
- It handles script and makefile editing.
- It's entirely keyboard-controlled by default and in a reasonably standard way across computers. This may sound useless, but it's actually great to be able to keep your hands on-keyboard at all times.
Until I can find a single editor that can handle all the above on my workstation, I will use emacs as my primary editor, and only resort to secondary editors (such as Visual Studio) when I have extremely specific work to do.
Interesting. Just for reference, other editors handle most of those. I have no idea about OCaml or Latex. XML handles just fine in Visual Studio. When I do Java, I use Eclipse, which has a bunch of nice tools (refactoring, automatic compilation, etc...) that go along with it. That's part of the IDE experience, is you get more than just a text editor.
Anyway, while I understand that you can gain a familiarity by sticking with a single editor, I think you might also find that specialized editors for a particular task work better than a single do-it-all solution for every type of thing you're editing.
Anyway, since the only things of that list we're currently using are C++, XML and Python, I'm not sure my other team members could use the same reasoning.