Question, How to remove all the default emacs shortcuts
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).
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 (or keymap-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."
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.
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.
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.