About Editor wars
Notorious are browser wars. Vim vs. Emacs, Emacs vs. vim. Of course everybody has her editor of choice. Both Editors are powerful and extensible. What both editors miss is ease of use.Well, if you are just a bit into *nix world, you should have heard of this. On the MacOS there was just one widespread pure textual editor.
You need training to use them properly, you need to remember shortcuts that are peculiar to that editor, but not to the rest of your environment (well, this is not enterely true).
I used them both. Each of them missed something and had something the other had not, or at least did something easier than its counterpart.
They can be used with no mouse, on a remote shell, everywhere.
BBEdit
BBEdit is not as powerfull as Emacs. However it is extensible in many ways. It is probably more powerfull than vim, just because vim aims at being just a text editor, using shell and other programs together with it (and thus becomes nearly as powerfull as Emacs).In this sense BBEdit is more similar to Emacs. It is one application that containg everything.
The point is that BBEdit is powerfull enough to fullfill my needs and is not hard to use. The manual is complete and easily readable, but for most things you just won't need it.
It has "diff" capabilities, multilanguage and multidocument support (and working with multiple documents is really easy, since it is not forced to work in a pure textual shell). It has SCM integration (with subversion and cvs).
It is a wonderfull developement tool if you work with Python or Perl, you can access easily their library reference. You can run scripts inside BBEdit or debug them. What BBEdit really excels in is WebDevelopement.
It can manage entire websites, live preview documents with WebKit, edit remote documents through FTP or SFTP.
Its glossaries are a powerful but easy to use tool that can be used (for example) to work with Latex and can substitute in many case autocompletion (in fact they are better).
In fact it is far more powerfull than dedicated WebDevelopement tools like DreamWeaver and GoLive, it produces cleaner code and if you are not specifically a web developer you can use it for almost everything.
You can also let it sugest you which tags/attributes you can insert, depending on where is your cursor; BBEdit can also be used to write CSS and has facilities for templating and for authomatically update websites.
Of course BBEdit is enterely AppleScriptable.
If you think it costs too much, you can try TextWrangler. It is free (as free beer). Unfortunately it is not comparable to BBEdit, it is really less powerfull (although easy and quick).
Me and BBEdit
Right now I use it to:- Write Latex documents. I do this pretty often, and since they are source managed with SVN, it helps a lot. Latex Glossary is great (this is something you don't have with TextWrangler).
- Write almost each C/C++/ObjectiveC file that is not part of an XCode project. Of course if it's XCode stuff, I use it (it's great, thanks Apple!). I wrote also occasionally Java, Lisp, Haskell, Perl, Bash stuff.
- Write every (almost) Python source file.
- Work with system files. It has kind of builtin sudo.
- Work with generic text files.
- Manage this website (ok, this is easy). Still you have to think that this website is enterely static (no server side scripting at the moment, and in the future their use will be kept minimal), but this site is not statical.
Each source file is dynamically linked (except for AppleScript stuff, which is by default binary), not just copied. If I modify the source code and I can just authomatically update the Site. - Manage other websites. Ok this is also easy, my job is another.
About free software
BBEdit is not free software, and it never will be, probably. It it bad? Of course it is bad. However, it is not that bad.First of all BBEdit works with standard file formats. In fact it works only with text files.
If you don't use it's advanced HTML and site managing capabilities, you can switch to another text editor in every moment you like. And people do not need to have BBEdit to receive your files. This is the main problem with things like MS Word, for example.
This is the most important thing. File formats have to be open, you should not force people to buy or to obtain in illegal ways a piece of software to read what you've written.
It is in fact ridicolous that with all the text editors the open source community wrote, I ended using BBEdit. I do write OpenSource software with a closed source program.
I already told why I used BBEdit. Other text editors are too complicated, too poor or not well integrated with the MacOS. And BBEdit is really good. Or at least, it does not suck(c).