A Norse Rune @feoh

What's your programmer's editor of choice and why?

· Web · 0 · 1

@feoh Emacs. It's customized to behave exactly as I need it, it works both in a terminal and in the GUI, it's open source, it's extensible, and the fact that I use a dvorak keyboard doesn't get in the way.

@klaatu I used emacs for YEARS and still love it, but never managed to really grok elisp beyond the basics. I mean, I understand the data types and basic operations but walk me up to a substantial elisp code base and my head explodes :)

@feoh I currently use Sublime, but have been bit twice in the last 6 months by bad plugin upgrade stories that messed with primary function.

@paregorios You're not the first Sublime user I've heard carp about its ecosystem. Kind of surprising given how widely it's used. Still, seems pretty capable!

@feoh I was a fan of Vim for years, but I've since switched to emacs. I think that Vi and friends has superior editing capabilities once you understand how a modal editor works. It's quick to make edits and I find that I spend a lot less time wrestling the editor to get the text I want.

That said, Emacs, is the superior piece of software in my opinion. In the ~10 years of exclusive Vim use I never really came to fully understand the varied syntaxes used for directives in a .vimrc file or how to write Vimscript. Maybe if I'd made a concerted effort it'd be different, but to a certain extent I felt that I was always cargo-culting. Emacs is way more consistent and cohesive, because everything is Elisp. To do configuration, you only need to know a small part of Elisp (if you don't use the customization framework) and learning to use it is pretty easy to pick up - especially if you have some experience in another Lisp. I've written multiple helper functions in Elisp to make my work easier and I wouldn't even know where to start with Vi. Emacs also has Evil mode, which means I get modal editing and basically all the functionality of Vim that I want. I now use vi for editing text and Emacs keybindings/functions for anything it doesn't cover and it's very pleasant.

If you were to start with Emacs take some time to learn about common extension packages. Ones I can't live without: dtrt-indent (deduces tabwidth from the open file), Smex (makes the interface way more discoverable), Dired (good for bulk file operations), and of course Evil.

@anarchosaurus I'd have agreed with you until recently but IMO neovim is a quantum leap forward that changes the equation dramatically.

@feoh i've heard it was better but never and endorsement quite like that

@feoh emacs - it works very well with Common Lisp.

@phoe lisp dev is one area in which emacs still unquestionably rules the roost :) SLIME and .. Ensime I think? Are amazing. I wish I had the time to relly bear down and wrap my head around LISP. Closest I came was with Clojure, but never had the time to actually build anything with it in earnest :\

@feoh I never used ensime since I'm not a Scalaperson, but yes, slime and slimealikes are really wonderful. And nonetheless slime is still weaker than what was possible on Lisp Machines!

@phoe I had the sad task of taking Symbolics Genera workstations away from developers in one of my first tech jobs and hauling them into storage to be sold for scrap :\ Kind of a pity they're still making money off that stuff, would love to see it all get open sourced :)