Emacs vs. Eclipse vs. Vim

Ant antroy at gmail.com
Sun Nov 30 10:39:13 CET 2008


On Nov 29, 8:44 pm, Josh <jho... at hotmail.com> 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




More information about the Python-list mailing list