Additionally, vim key bindings work in some other places too - like man and less (and most pagers I think). It also works in bash if you set -o vi which by default uses emacs keybindings. Ctrl+x, Ctrl+e (Shift+V in vi mode) to open your current entered command in $EDITOR which is handy for really long commands. Then save it in said editor, and boom - it runs in your shell.
The keybindings (vim and emacs alike) is actually a feature of GNU’s readline library that bash gets for free since it uses it, the same trick works in other places that use the same library like a lot of REPLs and gdb (though those programs would need to expose their own way to change between vi and the default emacs mode).
That itself is a very good reason to know some basics of how to navigate around emacs and vi[m]!
Additionally, vim key bindings work in some other places too - like
man
andless
(and most pagers I think). It also works in bash if youset -o vi
which by default uses emacs keybindings. Ctrl+x, Ctrl+e (Shift+V in vi mode) to open your current entered command in$EDITOR
which is handy for really long commands. Then save it in said editor, and boom - it runs in your shell.The keybindings (vim and emacs alike) is actually a feature of GNU’s readline library that bash gets for free since it uses it, the same trick works in other places that use the same library like a lot of REPLs and
gdb
(though those programs would need to expose their own way to change between vi and the default emacs mode).That itself is a very good reason to know some basics of how to navigate around emacs and vi[m]!
And now for the second time in my life, I’m tempted to learn a bit more about the old gods of text editing. Damn you! /s