reddit / emacs

Evil or Emacs Keybindings: which is better for use in functions other than text editing/has better support outside of emacs?

gravygrowinggreen · 2022-04-30 14:44
I realize Evil vs. traditional emacs bindings is a thoroughly discussed topic. I'm currently poring over numerous discussions in a search of this subreddit. But one discussion I haven't seen is what set of bindings is best supported/implemented outside of the standard text-editing experience. The discussions naturally tend to focus on which bindings are better for each user for editing text. But what about for everything else? For instance, qutebrowser is a fantastic web-browser built for keyboard focused input. It uses vim style bindings natively, but can be configured to use emacs style bindings (and there exists a community maintained configuration file to do just that). A possible issue however with attempting to use emacs style bindings for qute browser is that any features you do use, such as god-mode, might require significant manual configuration to implement. Firefox has addons for vim style experiences (I haven't found an up to date and not abandoned addon for an emacs style experience in firefox). Emacs has its functions for almost everything, including email clients, terminal/shells, and file management. These would naturally tend to be best supported using traditional emacs bindings, because in my experience, evil-mode, while fantastic, often lacks somewhat in documentation for the various things it's implemented in. But dedicated applications may offer support for features not easily replicable in emacs currently. Overall, this seems like something of a wash so far. but perhaps I'm missing something. What has your experience been with emacs or evil bindings outside of emacs?
AlanYx · 2022-04-30 14:53
If you’re on macOS, any standard OS text field supports many standard emacs bindings (and you can add some other ones), so that’s one consideration.
JohnathanDee · 2022-04-30 15:25
Emacs keybindings might be a little more common than vi outside either program. All bash-like shell and readline based programs have a bunch of Emacs bindings built-in, and many IDEs let you pick Emacs or vim. But readline and bash also have vi mode, just not default. Probably pretty close to the same
xtifr · 2022-04-30 19:30
Note that readline-based programs is a pretty large group! From languages (python, lua, etc.) to databases (sqlite, maria, postgresql, etc.) to a wide variety of utilities (fdisk, parted, network-manager) and much, much more. Debian has nearly 300 packages which depend directly on libreadline. (Including a few that surprise me, such as Inkscape.)
timmymayes · 2022-04-30 20:50
Here is an interesting, albeit tangential, [article](https://llazarek.github.io/2018/07/modal-editing-in-emacs.html) on the subject of modal editing. It essentially talks about creating your own modal editing mode using elisp. For the author it was partially to enable them to pick and choose which aspects of vim they liked. Personally I started out learning emacs vanilla and didn't really have much interest in learning vim. However, I'm realizing I should give "modal" editing a bit of a chance. I think I'll make it a mini project to create my own modal editing mode to gain the benefits of modal editing but while also making it my own. Essentially the reverse of people coming to emacs from vim and wanting to retain their vim stuff. I'm starting at emacs and moving into modal editing but not specifically vim. This method fits my tinkering brain much better than just throwing evil mode in and calling it a day.
thetemp_ · 2022-05-01 03:18
Also in the Gnome desktop environment! However, it's not the default, and the setting isn't easy to find unless you install "Gnome Tweaks" configuration tool. But as far as I know, there is no such setting in Gnome to have vi bindings.
mee8Ti6Eit · 2022-05-02 00:29
Emacs of course. For starters, almost all text editing/text boxes are chord based rather than modal based. While Ctrl-ZXCV doesn't match Emacs, almost all programs/text boxes support the standard Ctrl-Left/Right/Backspace to move forward/backware/delete a word, which is the same as Emacs. All CLI tools that use readline (which is a lot) use Emacs bindings by default. However, if you go specifically looking for them, there are lots of programs/extensions/addons that either use or add vi keybindings (like Firefox, Chrome, VSCode, whatever all have vi keybinding extensions).