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

  • 4ffy
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    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.”

  • Ramin Honary
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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.

  • blawsybogsy
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    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.