This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-12-15
Channels
- # adventofcode (80)
- # beginners (94)
- # biff (19)
- # cider (74)
- # clj-kondo (11)
- # cljs-dev (7)
- # clojure (110)
- # clojure-austin (3)
- # clojure-australia (1)
- # clojure-belgium (1)
- # clojure-china (1)
- # clojure-europe (83)
- # clojure-filipino (1)
- # clojure-hk (1)
- # clojure-indonesia (1)
- # clojure-japan (1)
- # clojure-korea (1)
- # clojure-my (1)
- # clojure-nl (1)
- # clojure-norway (4)
- # clojure-sg (1)
- # clojure-taiwan (1)
- # clojure-uk (2)
- # cursive (3)
- # data-science (8)
- # datalevin (8)
- # emacs (18)
- # etaoin (5)
- # graalvm (1)
- # holy-lambda (3)
- # honeysql (1)
- # jackdaw (10)
- # java (10)
- # jobs (3)
- # luminus (9)
- # malli (106)
- # off-topic (88)
- # polylith (8)
- # portal (2)
- # re-frame (50)
- # reagent (11)
- # reitit (74)
- # remote-jobs (1)
- # shadow-cljs (46)
- # tools-deps (26)
- # xtdb (49)
I saw interactive-align
recently (https://github.com/mkcms/interactive-align) that looks nice, but I havenโt tried it yet.
Hi there, I've been using Emacs for over a year now. For what concerns Clojure, I started with vanilla Emacs+Cider bindings, more recently (for a couple of months) I switched to Spacemacs/hybrid. I'm happy with the journey and the learning so far, but with my current evil-esque setup I struggle to find a satisfying flow/way of working specifically with Clojure (none of that with other languages or plain text). The friction lies in having to navigate the transition between the three states (normal/lisp/insert). Sometimes I expect jump back from insert to lisp state (if I got into insert from lisp state). I also wish to have a smoother way to transition between normal and lisp (both directions) but this is not fully clear in my head yet :D I did my internet surfing and I see that there's a nice mixture of people having had similar concerns and adopting different approaches. I'd like to hear more, collect ideas and know of other people experiences and approaches, and in particular: - if you default to Vim bindings, what is your favourite/default Evil setup (Spacemacs or not Spacemacs); - if you played with Vim bindings within Emacs then opted for Emacs binding, I'd like to hear of your journey too (and THIS is why I put this message in the general Emacs channel and not in the specific Spacemacs one). Thanks
Ah I suppose as a spacemacs user, you use the evil-lisp-state
package? I've never used it, but the idea seems like a bad one to me. evil-cleverparens
and lispyville
don't give you another state to deal with - they just sit on top of normal state. Maybe give one of those a try? Sounds like it could address your issues.
Disclaimer - I'm the new maintainer of evil-cleverparens. I'm not its original author, so I don't know it that well, but I've used it for many years and like it. There are a few bugs, so if you do end up using it, please report any you find.
I started with Emacs Live config, then Prelude and finally Spacemacs. Initially using Emacs(holy) mode for the first few months and then to Evil. Using evil felt more natural especially with the way the which key key bindings work - sequential keys rather than chorded keys.
I use a few key bindings from the Lisp state, such as raise. Most of the navigation and manipulation I use Evil normal mode. I quckly learned to press ESC or actually I use the fd key binding for escappe to get out of Insert mode when not typing new stuff. So most of the time I am in normal mode, which is the vim way
https://practical.li/spacemacs/spacemacs-basics/evil/ i wrote to help me get used to multi-modal editing, learning to speak/think in vim terms does take practice, although I found it paid back in a big way, especially for clojure. I do recommend using evil-cleverparens with Evil so that evil respects the structure of Clojure and Lisp code...
crafting your own config is not hard. The pro is you know exactly what package does what.
I find your comment rather judgmental and annoying, considering I messed with vanilla Emacs for over an year in my own time. Learning Emacs can be rewarding (it is certainly for me) but it's challenging and takes its time, maybe something that folks with more milage tend to forget. For sure, at this stage it's not acceptable that I waste too much work time toying with Emacs Lisp. I'm collecting ideas - thanks everyone who offered some - and that can be beneficial even if the outcome is do it myself from scratch.
For a Emacs approach (rather than Evil) then I would recommend using https://github.com/bbatsov/prelude (maintained by the CIDER maintainer, so it always works with Clojure) I wouldnt encourage anyone to create their own Emacs config unless it was their main intent to learn eLisp and the machinations of how Emacs works (maintaining your own config is a major investment). So if the focus is to learn / develop Clojure, then use Prelude or Spacemacs in holy mode (via the initial install option as then Evil modes are not included) seem more appropriate.
I'll probably play with cleverparens (or another similar option) and avoid lisp state to see if that helps circumvent getting lost between normal/lisp/insert states transitions. I honestly like lisp state and having that option itself, but the beauty of different nice alternative options is that we don't have to use all of them at all costs ๐
Oh I am sorry you took this wrongly. Since there was spacemacs and doom in thread I just wanted to post another alternative with it's pro argument. Instead of "not hard" I might have said "a path that requires some commitment, but easy. For example following https://systemcrafters.net/emacs-from-scratch/ "