Hello, I like emacs. But I don’t like it’s default keys, so I use Evil. But the defaults stay. How do I remove them? I know, that’s not an easy question, but I’m a bit of a newer emacs user, and don’t like the defaults. I know it’s possible, I’ve attempted to use spacemacs, and it gives you the option to use only vi keys (I only stopped using it because I wanted to use my own config).
Thanks
I don’t think that’s a good idea. Pretty much all interaction with Emacs is mediated through keybinds. There is no distinction between shortcuts and fundamental behavior. Even ordinary typing is done by having each character on your keyboard bound to
self-insert-command
. Perhaps there is some way to nuke the global keymap, but then you’re left with literally nothing. Besides, this would not prevent various modes from adding their own keys anyway.You should consider whether Emacs keybinds are actually in the way enough to be bothersome. You can also
keymap-global-unset
(orkeymap-unset
) individual bindings that you find problematic. I’d also consider delving into the Spacemacs code to see how they implement their “vi only mode.”There are “Emacs distributions” like Doom emacs, Spacemacs, and Emacs Prelude which do a better job of making sure all of Emacs uses the Vi key bindings.
As others have said, keybindings are fundamental for a text editor, and other packages are programmed with the assumption that you use the default Emacs key bindings. So it is takes a lot of work to make sure Emacs uses the same key binding “theme” for everything, and across all packages.
Fortunately, there are people who have done all of that work for you, and those are the people who have created Doom, Spacemacs, and Prelude. So I recommend you check out one of those distributions, follow the instructions to install and configure it, and use that instead of ordinary Emacs. Keep in mind that they change almost all of Emacs so you should read the documentation for the Emacs distribution instead of the ordinary Emacs documentation to learn how to do things.
C-x M-c M-butterfly
Hey, when I try to type C-x M-c it said it was undefined. And it’s not a function in M-x either. I don’t know if this is vital info or not, but I’m running Emacs 29.1 debian build.
you need to run
M-x butterfly
.It’s a joke… https://xkcd.com/378/
is it not possible to just search in the code of spacemacs if you know it can do it? seems like your best bet. if you can’t find it searching, ask on the repo? otherwise, as others have said, i wouldn’t think it’s a simple thing to achieve. best to see if you can reuse the work others have already done.