Why would a front-end developer on OS X use any editor besides BBEdit? I have tried Sublime and Atom, BBEdit is better. Atom is slow and Sublime hard to grep and multi-file search/replace. |
Why would a front-end developer on OS X use any editor besides BBEdit? I have tried Sublime and Atom, BBEdit is better. Atom is slow and Sublime hard to grep and multi-file search/replace. |
"Thou shall not start an editor war, for they are without end, lacking all rigour and decorum."
If you try to do actual programming, instead of grepping and replacing, SublimeText (and Atom, though slower) are much more featured. From build systems integration, to "go to function" and myriads of plugins for linting, AST based auto-complete, etc etc.
however i guess for other, more complex situations, having more add-on options and such might be beneficial.
Basically, the idea is that your editor becomes your entire world. News, email, chat, source control, code, running code ... everything merges into the one system, and efficiency gains in one area tend to be applicable to others.
All your keyboard accelerators, macros, etc. etc. are available to all functions. Want to kill to the end of the line? It's C-k ... in everything. In your editor, in your email client, in your scheduler ...
personally i prefer not having to learn new keyboard shortcuts to style a todo list for example as that first video discusses. i just write it out, use an asterisk or some easy system to show points, outline levels or whatever. if it's important to get done that day i note that in plain text. this is faster and easier to remember than learning a whole system for todo lists and marking up the different items importance, etc.
i want my email client to be focused on email, and a scheduling or calendar program to be focused just on that. for me bbedit is a swiss army knife of text editors in that it does lots of things to text - grep, search over huge numbers of directories, whatever. but i don't want one environment for things beyond that. for me those do many things badly, instead of one thing well.
E.g. take one case, recurring appointments. You can do the usual (monthly, weekly, etc.) or embed a snippet of Lisp code in your org-mode file; if it evaluates true when your agenda is being generated, then the item is deemed to be repeating that day.
So, let's say you want your calendar to contain an event if the weather is forecast to be over 40 degrees C on that particular day[1]. Easy if you're using org-mode, but basically impossible with every other system I've seen.
The point behind using a programmable editor is that their programmability allows you to extend them in ways that their original creators never intended. Whereas, say, a conventional email client is designed to be used in just the way its creators intended, and never extended.
I gave a presentation on this topic (the power of programmable UIs) a while back:
https://github.com/duncan-bayne/presentations/blob/master/pr...
Edited to add: in fact, lack of programmability is basically what's broken about modern computing environments. People are so used to software being non-programmable that they don't know what they're missing. It's no accident that even rudimentary programmable environments like Excel are so popular.
[1] ... which is a reasonable requirement for me; the work done by the systems I help to build is highly dependant upon weather.