Atom editor setup for Clojure(Script) development in 2020

Emacs has a built-in tutorial which covers the basic keybindings, when you open it without any configuration, it will show you a startup page.
But Emacs itself is complex and old fashion, you have to spend a lot time before you feel comfortable with it.

Ya, I feel like it’s not that complex, though it definitly is old fashion. The thing is, working with Emacs is like learning to work on a new code base. You need to learn about how the code implements things, how to make code changes to it, how to test your changes, how to evaluate emacs code, etc. It basically expects you to be an Emacs dev to use Emacs. The thing is, it makes that really rewarding and actually easy. Emacs is like the most documented code base you’ll ever see and it gives you a great set of tools to work on Emacs as well.

The downside is, it kind of expects you to be a developer. You can use it without knowing the code base, but then you’ll struggle to find your way around, and since the starting UX sucks, ya, you’ll have a hard time :rofl:

I’m not so sure… I got by for a few years with no knowledge of elisp (just copy/pasting snippets here and there to get e.g, the scroll-wheel working, those were the times!), and with a basic set of commands (open/find-file, save, search, replace-regex, and some region basics). Still at that basic level, Emacs was better than most of the other editors I’d tried before.

At some point (probably when I started writing LaTeX with it), I started learning more, and I still haven’t stopped. Along the line, I started using Evil (first with my own config, nowadays with Spacemacs as a base) because it makes better sense as an editing tool, but what keeps me on Emacs nowadays is its sheer power and the uniformity of how it works. I can use my Emacs-fu for everything from coding to taking notes to doing mail, etc. So in that sense, learning to use it was a worthy investment, especially when it comes to writing any Lisp code.

That’s great if you did! I do think a lot of people use it like that and its great if that works well as is. I do feel learning Emacs Lisp can be a game changer for using Emacs though, so if people have the time or interest, I’d recommend giving it a try. It really turns Emacs from a trial and error process, to something that you can approach logically. For example, I often pretty quickly can identify why something doesn’t work, I can write a patch to fix it myself add it to my config and eval it, no need to even restart Emacs. And if you know Clojure, learning Emacs Lisp is pretty straightforward, like going from C# to Java.

As a side note, I don’t use Evil, even though I use Spacemacs :stuck_out_tongue: I find myself more productive with my own custom bindings operating in a non modal setting. Especially for Lisp editing (Clojure et al.), since Vim is really tailored around line based editing, yes, I find, even with SPC-k being there.

I’ve used VIM and Evil for a few months, and though its nice to keep to the home row for navigation, overall, most of my most often used commands were made more complicated involving more key-strokes and mode switching, and gesturing. To each their own.

I completely agree, but I think some people make it out to be a requirement for using Emacs effectively (and so there are all these recommendations about using some other editor to learn Clojure, since Emacs is “so complicated”, which to me is BS), and it’s not.

Regarding the Vim bindings… I do use structural editing for Lisps, but I find the Vi(m) “language” much more ergonomic for everything else. The thing that made me look seriously into it was this SO post: https://stackoverflow.com/a/1220118/885262

That’s fair. I think it’s more that emacs is hard to discover how to do things, since its all mostly keyboard driven, and common commands have different bindings then what people are used too. There’s not a lot of visual feedback or contextual help, until you learn the help commands. So I’d say Emacs is easy, but that still can be hard to learn, since it’ll require more effort, as you can’t leverage your existing X years of computer usage. Well unless you use my Noob bindings :laughing:

I mostly use Emacs for writing Lispy things, so Vim was slowing me down. Like the SO post mentions, its designed for line based, block based editing mostly, which would be perfect in say Java. And when it comes to non code, I find I spend way more time typing then navigating, so switching modes just annoys me. Anyways, I think its all very personal. I just want to say, since often people compare Emacs vs Vim bindings. I think that’s unfair. Emacs bindings do suck for the most part, but Emacs expect that you’ll customize them to your liking. So to me its much more about modal vs non modal. And I prefer non-modal personally.

That can be true, if you’re not using something like smex, which helps a lot with discoverability, basically you can do M-x and start typing, and you’ll get all fuzzy-matching commands. I think I actually use that more than actual keybindings for stuff not in my top 20 commands or so. No point in memorizing bindings you don’t use often.