On Nov 29, 8:44 pm, Josh <[EMAIL PROTECTED]> wrote: > If you were a beginning programmer and willing to make an investment in > steep learning curve for best returns down the road, which would you pick?
Personally I'd choose Vim for the following reasons: 1) Vim is ubiquitous on Linux/Unix servers. If you learn Vim you will be able to edit files on a server without doing the "FTP to local machine/edit locally/upload back by ftp" dance I see so many developers and even sys admins doing... 2) Vim is a proper editor. Eclipse is an IDE. They are really incomparable. I personally hate working in Eclipse, but the IDE features make it the obvious choice for Java development. I prefer Vim for Python development. I also have Vim set up as an external editor in Eclipse, so any repetitive or difficult editing in Eclipse is done in Vim. 3) Vim makes it simple to cut log files down to size. The g command is a godsend for this. :g/DEBUG/d will for example remove all debug lines from the file. :g!/My message/d will delete all lines other than lines containing "My message", and :g/./norm dt- will delete everything up until the first '-' (normal mode, delete 'till '-'). Combine these and you'll have the info you want, formatted in the way you want it very quickly. 4) Vim can be scripted in Python, and has a host of useful plugins. 5) Vim has close interaction with the command line (though no built-in console like emacs). Finished editing a file? type :!svn commit -m "Done fixing this" % and the current file (%) is committed into subversion. :%!sort will filter the current buffer through an external sort program, and change the buffer to the result. Now emacs will also satisfy points 2-5 (not sure how easy 3 is, but I'm certain it's comparable). In fact emacs will initially have a lower learning curve, since it its not modal, and so wihout learning any keystrokes, you can use it just like a basic editor and gradually learn the commands. (1) for me is a compelling reason to use vim all other things being equal. Also, if you touch type, or aspire to, then Vim makes more sense than emacs, since almost everything can be done from the main keys, rather than emacs CTL-ALT-SHIFT x u type key contortions... Certainly don't bother with Eclipse unless your starting as a Java programmer (and even then learn vim as well) - it is very good at inserting boilerplate code for you, but as an editor offers little more than Windows Notepad... I personally use Gvim for a great deal of my work, from those taskd -- http://mail.python.org/mailman/listinfo/python-list