Shell vi mode is part of the POSIX standard, but emacs is not.
Dash has an option to be built with libedit that supports set -o vi. It should very much be built this way.
"[set -o] vi: Allow shell command line editing using the built-in vi editor. Enabling vi mode shall disable any other command line editing mode provided as an implementation extension. This option shall be supported if the system supports the User Portability Utilities option.
"It need not be possible to set vi mode on for certain block-mode terminals."
reply