macOS has a bunch of apps which can do so, including SketchyVim. Basically you would have all the vim modes motions and operators, inside any text box in the OS / in any app. I just did some looking up and asked LLMs, but didn’t find any linux equivalents of that. Ideally they would work on wayland and have app or window class exceptions.
https://code.tecosaur.net/tec/emacs-everywhere works for emacs, maybe try changing the code to work with vim or just use evil mode in emacs?