mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-22 16:23:55 +08:00
9367d4ff71
This does not include checks/function.fish because that currently includes a "; end" in a message that indent would remove, breaking the test.
19 lines
692 B
Fish
19 lines
692 B
Fish
function fish_hybrid_key_bindings --description "Vi-style bindings that inherit emacs-style bindings in all modes"
|
|
bind --erase --all --preset # 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
|