TGViewer
/r/emacs /r/emacs @r_emacs · 80 subscribers
Post #28664 9
Emacs vs Vim keys for the window manager

TL;DR: How do y'all (if at all) juggle window manager keybindings being hjkl-based while retaining native emacs keybindings in the editor?


For context, I'm a long-time Vim enjoyer but I switched to Emacs for the functionality, the GUI, and the better font handling (I use non-Latin scripts on the regular and Emacs handles them like a champ). I really liked a lot of built in functionality that Emacs has and I prefer them over the Vim way. For example, I don't see how Vim's :%s can even come close to the beauty of re-builder + query-replace-regexp.

However, over my years of using Vim, I ended up getting really used to the hjkl-based navigation, so I programmed my window manager (Niri) to use those for directional commands. Oddly enough, every combination of s-[C-][M-][S-]{hjkl} has been used for some command or the other, which I think is very Emacs-y in that modifier usage is also semantically consistent.

Now I have to constantly context-switch to thinking of directions as hjkl when using window manager keybinds and bnpf et al. when using Emacs. I have considered using bnpf-based keybinds for the window manager itself, but then that requires rebinding other keybinds to very non-mnemonic ones which I'd rather avoid.

Is there any other paradigm for WM keys that you guys use?

Alternatively, is there a way to have Evil-style keys for editing but using native emacs commands by default without any of the evil-ex shenanigans? In this direction, I've tried using meow and I liked the principle, but the Kakoune-style editing seemed much more painful to learn and if I were to learn a new paradigm I'd rather it be native Emacs (at least for now).

https://redd.it/1wy1yuo
@r_emacs
Reddit From the emacs community on Reddit Explore this post and more from the emacs community
More from @r_emacs
  1. Oct 5, 2026Trouble setting up eglot I'm trying to set up eglot for javascript. I've installed typescr…
  2. Oct 5, 2026excali-mode 0.2.0: a diagram DSL with explicit placement and Org Babel support https://red…
  3. Oct 5, 2026org-incremental-writing package I wanted a package which works well with denote, and would…
  4. Oct 5, 2026[ANN] package-load-indicator: instantly see which packages are loaded within your init fil…
  5. Oct 4, 2026Caching ssh passphrase with Magit? I can't seem to get this working so i'm wondering how o…
  6. Oct 4, 2026LLM release 0.33.0, with decisions! https://redd.it/1wxn0jg @r_emacs
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →