I've been playing around with Vim every once in a while over the last few weeks and now I'm torn between using Vim and using something else. On one hand, Vim has some benefits. I love the idea of using the keyboard for everything. I find it fast and surprisingly intuitive once you learn a few things. It's also customizable, and geeky (I like that). I'm sure there are other benefits, but I haven't used it long enough to really know. Plus, I'm feeling rather hostile and feel like trashing some emacs users. Just kidding.. I think I'm too young for joining that war :(On the other hand, it's hard to honestly and truthfully like the looks of something so old-school. I've added some plugins to turn Vim into more of an IDE with a Taglist and some other things, but it still seems pretty old fashioned. I like command line apps as much as the next person, but I can't help but feel other GUI editors are much more appealing to work with for longer periods of time.For my basic needs, I've found Geany an excellent and fast little IDE that does what I need and looks good doing it. Yet I'm still drawn to the idea of using Vim, it's been around a long time, people swear by it, 'wars' have been fought over it, it's hard to not get the impression it must be worth using. I'm not intimidated by the modes and commands, I realize good programs take effort to learn. I find it excellent for editing config files but it's just the programming part of it I'm not sure about. Am I just being sucked in by the aura of greatness that lives on because of devout users or is it really worth it to use Vim and it's high-speed keyboard-only(mostly) editing?Maybe I should just make it simple and use both...
From what ive gathered Vim and Emacs are for serious coders. Apparently these editors are much more speedier than the standard graphical IDE. So much so that many get to a certain standard of coding where Vim or Emac's is like a necessary step to progress further. For example for the very adept, these individuals apparently dazzle with the speed they operate. But like you i ask myself the same questions. Personally i used emacs for a bit of scheme, (lisp) programming. I found the absense of syntax highlighting the biggest issue for me, for which i wasnt too interested looking into further. I dont see Emacs or Vim as particularly high on the enjoyment scale though.
It's all about enthusiasm....if you're more enthusiastic about a particular program then you will enjoy it no matter what. If you have the slightest doubt about its reliability then you will begin to doubt every aspect of it! I like Vim because it's fun to do coding inside it compared to othe GUIs and controlling everything with the keyboard is really thrilling too! There may be some loose ends to it but still it makes for a pretty good editor even today. And whether or not you want to use it depends on your own opinion - if you like old stuff then this one's gold! If you prefer to move on with technology then better put Vim aside and use other stuff
Having a bit of knowledge of VIM is useful whether you use it for programming or not.
Sometimes it is the only choice when you run your linux in rescue mode or in text mode. Also, you will find it in all linux.
Today's computing environment is getting very powerful, so running GUI IDE's is not a problem now. I remember when I had 128M RAM and how it was not possible for me to use Eclipse on my system. These IDE's are very easy to use, you just have to point and click. Also, these IDE's have an advantage of coming with certain integrated tools like debugger and build tools, integration with CVS, database explorer. So they are sort of all in one package.
One disadvantage(or advantage ??) of these IDE's is that they are geared toward doing one particular task or you can say are more specifically bound to one programming platform or development environment. I hope you can feel what I am trying to say. A little bit of learning is also involved in these tools.
As an Editor, VIM and Emacs are excellent but as rob86 said only when you are comfortable with keyboard and can memorize all the commands. They provide syntax highlighting, can work on logical entities like function blocks, autocomplete etc ... They also come with a few integrated tools. One can use tools seperately from command line, why need integrated tools .. .
For beginners, learning programming languages; these editors are good since in initial stages you will want to know what is happening behind the screens and the tools that are being used.
Now, I mostly use graphical tools/IDE's and VIM occasionally as they make me more productive. I am not a supporter of one particular tool/IDE/editor. For me if a tool is easy to use and makes me productive enough I use it