From: Chad Perrin Date: 2007-04-16T02:29:29+09:00 Subject: Re: IDEs, syntactic vs. semantic highlighting, etc. On Sun, Apr 15, 2007 at 04:10:10PM +0900, Tim X wrote: > "M. Edward (Ed) Borasky" writes: > >> > > Compared to what? Emacs? Vim has come a long way, and I must confess I > > never learned Emacs, but if I had to do serious Lisp programming, I'd > > for sure bite the bullet and immerse myself in Emacs. Actually, the > > reason I learned "vi" instead of "emacs" to begin with is that the > > system folks told us not to use "emacs" because it was a memory hog. :) > > Initially, I did the same and largely for the same reasons. I also agree 'vi' > clones have come a long way. There has been a long vi <-> emacs debate which > I've found myself confronted by many times. The problem is I tend to agree with > arguments on both sides. Many vi users will say that vi fits better with the > Unix tradition of lots of basic utilities that all do one thing well and which > can be connected or combined to do more complex things. There are many times > I've been able to create a very functional solution that has consisted of a > shell script calling various utilities and even vi to edit some data that the > utilities will work on etc. This sort of functionality would be difficult but > not impossible with emacs. However, either it would be slow or all your users > would need to be configured to use emacs. > > Emacs certainly works > against that philosophy as it is nearly a complete OS (or at least an OS shell) > in and of itself. However, now after 11 years of emacs, I've certainly begun to > appreciate the benefits of an editor that allows you to also integrate into it > all the common tasks you need to do. I've noticed significant productivity > gains from the ability to run emacs and get high functioning support for > reading mail and newsgroups, editing files on remote systems via ssh or some > multi-hop system that passes through multiple remote hosts, yet, functionallly > is no different to editing a local file, integration with compilers and > debuggers, and ability > to jump to source code locations of errors with a keystroke (for mulitple > different languages), basic web surfing (though w3m doesn't handle javascript > and other more modern web stuff), ability to heavily customize things, cut and > paste data between all these applications in a powerful and consistent way and > pretty much configure the whole thing to suit my needs rather than change my > way of working to fit the tools. Most of my interaction with the filesystem and > basic utilities is now done either through 'dired' (emacs directory/file > manipulation facility) or eshell (an emacs lisp shell). Its quite nice being > able to execute lisp expressions to do things in a shell. I also love the fact I can have all > functionality via the keyboard and don't have to use the mouse at all if I > don't want to. You can have instant, automatic integration of tools providing much the same benefits you ascribe to emacs without using emacs, just by learning to use screen. In fact, screen is one of two ways to pretty much prove that a free unix system is its own IDE (the other being the X Window System with terminal emulators and workspaces). One of the benefits of using screen as your world/IDE rather than emacs is that you don't have to do everything the Emacs Way if you don't want to. That can be very important, considering issues like repetitive stress injuries and a need for specific functionality that may not be easily coaxed out of emacs. I've always found it a touch amusing that RMS, the inventor of emacs, suffered for so long with debilitating RSI. It seems almost like poetic justice. > > However, at the same time, when doing simple jobs or a basic sys admin config > change etc, more often than not, I will just use vi because it is quick to > start, plus I can fit it on a rescue disk (which I am unlikely to be able to do > with emacs!). I would have also admit many of the advantages of emacs that > originally got me using it are now available in vim et. al. - especially > programming tasks. I've also found it amusing that while I might carry around vi, with all custom configs, on a 1.44MB floppy, emacs users can only carry around a configuration file. The editor itself needs to be on the machine already if they're going to use it. I'm not a huge fan of editor-knows-best IDEs. That applies not only to emacs, but to apps like Visual Studio and Eclipse, too. Others may like that sort of thing, and they're welcome to it, but I'll probably stick with Vim (or, in a pinch, vi) for quite a while to come. I'm likely to change editors about the time I create my own. -- CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] MacUser, November 1990: "There comes a time in the history of any project when it becomes necessary to shoot the engineers and begin production."