Fork me on GitHub

Anyone know how I would override a spacemacs binding?


Like say I want to change what SPC m s L does?


I used to just call define-key over the same keymap and it would work, but with today's update, it seems it no longer does. So I'm thinking maybe I wasn't doing it the proper way


Found it, you need to use spacemacs/set-leader-keys-for-major-mode


@didibus could you share what you want to switch the keybinding to and why you find that a useful alternative? Thanks.


Ya, I want to change s L for clojure major leader so that instead of clearing the repl output, it clears the REPL buffer


I also thought of changing s l to that as well.


s l right now runs cider-repl-clear-buffer, which only clears the repl buffer if you are inside the repl buffer. And s L does cider-find-and-clear-repl-output


Which can clear the repl output no matter where you are


clearing output and clearing buffer is different. Output clears the last output, not the whole buffer. While clearing buffer clears the whole buffer


My thought was to make: s l clear the buffer no matter where you are, and s L clear the output no matter where you are


You think I should contribute a PR to clojure layer with that change?


People don't like changes to their keybinding... but usually only tell you about it afterwards. I almost never use the REPL buffer, although it seems people do and also push a lot of text through it as well, like logs which seems a recipe for slowing down Emacs.


Rather than changing existing keybindings, there are a few other options.


1) config to use SPC u with each if the existing keybindings to clear the whole buffer


2) create 2 other keybindings to clear the whole buffer


Saying that, the change to SPC m s l would have no impact and seems to make sense. Capital letters typically represent a destructive action, so changing SPC m s L to clear the whole buffer makes sense.


So yes, a PR for changing the commands for the existing keybindings seems okay. However, I do share any changes with this channel and on the Spacemacs Gitter chat, just so people know it's coming.


If you want, I can do a PR for this tomorrow.


I have the code already, I can make a PR. I needed to write a new util function, because to find buffer and clear buffer you need to call cider-find-buffer-and-clear-output with the universal arg set


I might just change s l to be that. Like you said, it wouldn't break anyone, just allow them to also use it if they are not currently on the REPL buffer. Though I haven't tried it with multiple repl open. I don't know how it "finds" the right one in that case


BTW, at first I was mad at the binding changes you had made too, but now I've come to prefer them. Much better layed out, better mnemonics, so thanks for that


Got a PR for it on Spacemacs fyi