mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 05:13:10 +00:00
e8a31a13a1
The changes related to issue #3068 removed most of the emacs bindings from vi mode. However, since fish 2.4.0 was released several people have pointed out that the directions for reinstating the legacy hybrid key bindings don't work. This change fixes that and makes it easier to use the legacy hybrid bindings. Fixes #3556
18 lines
686 B
Fish
18 lines
686 B
Fish
function fish_hybrid_key_bindings --description "Vi-style bindings that inherit emacs-style bindings in all modes"
|
|
bind --erase --all # clear earlier bindings, if any
|
|
|
|
if test "$fish_key_bindings" != "fish_hybrid_key_bindings"
|
|
# Allow the user to set the variable universally
|
|
set -q fish_key_bindings
|
|
or set -g fish_key_bindings
|
|
# This triggers the handler, which calls us again and ensures the user_key_bindings
|
|
# are executed.
|
|
set fish_key_bindings fish_hybrid_key_bindings
|
|
return
|
|
end
|
|
|
|
for mode in default insert visual
|
|
fish_default_key_bindings -M $mode
|
|
end
|
|
fish_vi_key_bindings --no-erase
|
|
end
|