4 ms·
First off, thanks for your awesome tutorials! I actually switched to Spacemacs, for largely the reasons you mentioned (everything is there, but easier to exten
by emidln 12y ago
First off, thanks for your awesome tutorials!
I actually switched to Spacemacs, for largely the reasons you mentioned (everything is there, but easier to extend and largely better).
I was merely pointing out that vim with some plugins is good enough to get serious work done in Clojure, even though getting access to real refactoring libraries, a debugger, etc in my editor would be welcome.
The one problem I have with Emacs is that vim-sexp is and was much much much much better than paredit. Treating forms as text objects and letting you use regular vim motions to select text objects before slurping/barfing/etc is a move forward. It wasn't exactly obvious to me how to duplicate this with Spacemacs/VIM, but I also had work to do so I just went with the Spacemacs paredit bindings.
- tuhdo 12y agoGreat that you are a Spacemacs user now and glad that you like my tutorials. So, could you be more specific about how vim-sexp works? If you want to visual select sexp from symbol and expanding outward, uses expand-region: https://github.com/magnars/expand-region.el https://github.com/magnars/expand-region.el. Same for string. Then you can use smartparens: https://github.com/Fuco1/smartparens https://github.com/Fuco1/smartparens to wrap around by simply pressing "(". It is all in Spacemacs now, and you can explore further with evil-lisp-state commands, bound to ", k".
- hammerandtongs 12y agoevil-surround is the more idiomatic way to do smartparens stuff. https://github.com/guns/vim-sexp https://github.com/guns/vim-sexp This is actually an open problem in evil/emacs at the moment. Would be nice to sort out.
- tuhdo 12y agoI'm pretty sure you can do the same thing with expand-region and smartparens combined and is more general than manipulating sexp.
- ane 12y agoThere's also evil-lisp-state (which is essentially a modal interface to smartparens), https://github.com/syl20bnr/evil-lisp-state https://github.com/syl20bnr/evil-lisp-state, and evil-smartparens (https://github.com/expez/evil-smartparens https://github.com/expez/evil-smartparens) which makes the default motion operators work better with sexps.