10 ms·
First: I love ST. It is an amazing software that runs just as good on Mac/Linux/Win. In a pinch I will download and use it and never complain. Python extensibil
by bitexploder 9y ago
First: I love ST. It is an amazing software that runs just as good on Mac/Linux/Win. In a pinch I will download and use it and never complain. Python extensibility is also great, since Python is the language I do best.
That said, and I hate to be this guy (not really), but... Emacs?
* Performance: Acceptable on modern day
* Goto Anything: Helm/Projectile, command palette = M-x
* Text Editing: It is what emacs does best as a program
* Themes: Yes
* Project Handling: Projectile
* IDE Features: These exist
* Source Control Integration: Many people use emacs purely because of Magit, it is a great git UI that people won't know about in general because it is runs on emacs
I copy my ~/.emacs.d to a server, literally my whole environment minus some tty nuisances just works. Everything. All my package versions. Emacs is stable enough that not many things break between big versions 23/24/25.
There are two areas ST wins: Out of the box configuration and performance on very big things. It is true the learning curve to settle all of these features I am mentioning is non-trivial, but Emacs is open source and, like I mentioned, very stable. It has gotten enough right in its initial concept that it will always be a fine environment to mangle up some text in files into whatever you want.
This brings me to my next point, there is nothing really new under the sun regarding text editing. Atom/VS Code/Eclipse/IntelliJ/Emacs -- you want to edit a bunch of files in a directory structure, navigate quickly and easily between files and get context important information about the code. Everything else is just flavors of those same chores, often specialized to a few programming languages or whatever new things are popular at the time (JavaScript / Can we build an editor in JavaScript).
I have seen very little innovation in the field of text editing. Light table was interesting, and its no surprise it is very Clojure/Lisp oriented. I am in a giant lisp machine when editing code in emacs, I can whack out a lisp expression anywhere and emacs will faithfully evaluate it for me.
Next point: If you work in a language or big project you need a way to navigate and generate lots of boiler plate in some languages (Java). IDEs help there, but...
Final point: The speed with which we write text as programmers is not the limiting factor of how much software we can produce and never has been.
My conclusion was to invest in one editor that has been around a long time and just not worry too much about it. I can use emacs in 20 years probably. Who knows about atom or vs code or whatever. So it isn't a pro emacs, you should use emacs reply to you, but that over the long run, using the same system to edit text is probably worth it. Stick with one thing and ignore everything else unless you are forced to use some IDE, and even then really try to avoid it. Even then I am pretty sure I could do my job with Gedit or Notepad without much of a productivity hit.
edit: formatting
- city41 9y agoI agree that finding an open source, well established and powerful editor is an investment worth making. That basically means vim or emacs. Once over the learning curve, you're setup for long term productivity gains and stability. Since neither editor is going anywhere and they run on pretty much anything. But for many people, the initial learning curve just isn't worth it. Sublime, Atom and VS Code are all very popular because you just install them and start coding. I'd love to see someone shake up the space with a "modern" take on emacs and vim: native, fast, powerful, very configurable, terminal based, but also with a conscious view on the initial learning curve and out of the box usefulness.
- pinum 9y agoI think you should forget the whole "terminal based" thing. TUI text editors don't make much sense anymore. Native GUIs are much less clunky and much more discoverable.
- cholantesh 9y agoI wish people would learn to appreciate that UX is subjective. I find most GUI-based editors to be RSI inducing. The level of effort required to change that is not worth it for me. Others may disagree. And that's fine.
- udp 9y agoJust because it's a GUI doesn't mean you have to use the mouse. I find gvim much faster than vim in the terminal because it doesn't have to print a screen full of glyphs for each update.
- farresito 9y agoOn the other hand, vim + tmux is pretty awesome, and for that reason I prefer vim on the terminal. I've never particularly liked gvim, even if I'm not using tmux. In Linux, hitting the start or end of a buffer causes some sort of screen redraw that I've never been able to fix, but that might have to do with my configuration.