TBH, i do it very slow and manually, SPC /
, visiting the first hit, then SPC s l
, go to next hite, and so on. Certainly does not scale well when there are very many hits. But i never had that case.
@drewverlee when using M-x
or SPC SPC
is typing a pattern not sufficient to narrow to the command? I have only used those key bindings when there is a command that doesn't have a key binding (and usually add one if I use an inbound command frequently enough).
I'll take a look tomorrow! I try to save my editor changes for the weekend so I don't go down even more rabbit holes. I appreciate the message and all your work. I have gotten a ton from it.
To refactor I sometimes use the clojure-mode refactor menu (not clj-refactor), but mainly use the Emacs tools - iedit, helm-ag, narrowing https://practicalli.github.io/spacemacs/refactor/ Those Emacs tools work across languages and don't require any static analysis. Never had an issue using them
To me these Emacs tools are far more effective than IDE's I have used in the past. They are fast, langi agnostic, you can be very precise in what you change and the only dependency I have is ripgrep (or ag) to make the search even faster (and provide globbing options)
Hi! I'm trying to get used to spacemacs. Do you use SPC k ,,,
key bindings (for example SPC k L
SPC k H
) a lot? Which are the most common key bindings that you use while programming in clojure?
@juan.ignacio848 I mostly use s
to slurp and b
to barf (and S and B companions). w
/ W
to wrap or unwrap. I also use r
to replace the parent with the current expression, usually when I have written too much code 🙂 There are lots of other useful key bindings under SPC k
but I tend to just use Evil style editing because I got used to them.
https://practicalli.github.io/spacemacs/structural-editing/lisp-state.html
In cursive I mostly use raise barf and slurp. mmm and also a delete keybinding. Spacemacs has a lot more to offer and I'm not sure how to use it effectively 😛
btw, is there a way to wrap with [] {}
?
and what other key bindings do you usually use to interact with the REPL?
I'll have to play one of your videos in 0.25x speed to check that stuff haha
I often use Evil normal state to wrap things. First select something with SPC v
then s
to surround and ]
or }
to wrap the selection. Using [
or {
adds a space between the wrapping characters and the selection.
I used to use clojure-mode for changing parens, eg from a vector to a list with SPC r c
and the respective character. I now tend to use cs
- Evil change surround. Move the cursor to anywhere on or inside the surrounding parens, c s
to change surround, the open paren character I want to replace, eg. [
followed by the parens I want to use instead, eg. )
More videos of this on the way when I get chance 🙂
Added more useful tips when creating commits with Magit, includes scrolling through previous commit messages when creating a new commit. Its a simple way to keep consistent approach to the commit history. https://practicalli.github.io/spacemacs/source-control/magit/commit-create.html
Please!!
Thanks for the advice. I'll try it this afternoon
No clojure until then :(
Thanks john. I do use M-x Whats happening is that the "emacs command history" is taking up to much of the buffer.
I guess i'll look into either truncating it, removing duplicates or just removing the history.
Do you have a magit spacemacs video?
There are several more I want to create, but here is the collection of Magit related video I currently have https://www.youtube.com/playlist?list=PLpr9V-R8ZxiDQLVJU18qo72r1GZi-ZrFm
Ah, it seems you are also getting the bug where helm is showing duplicate results, which would not help you finding the right command. I suggest you file a bug about this on Spacemacs, SPC h I
. Several others have mentioned this issue on the Spacemacs gitter channel, but no one raised an issue yet (making it hard to diagnose). Its not something I have been able to reproduce. I assume its some version of helm package that went bad, but as I cant replicate it, that is just a guess.
All my Spacemacs videos should be on this playlist. The ones with dark back grounds may be a little old https://www.youtube.com/playlist?list=PLpr9V-R8ZxiCHMl2_dn1Fovcd34Oz45su
👍 thanks
gotcha. Ill make sure to update my dotfile to just in case.
thanks again.
re. my search for a search+replace: projectile-replace-regexp works for project wide search replace
https://github.com/syl20bnr/spacemacs/issues/13564 has details of the fix, of you haven't seen that already