mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-03-15 23:22:53 +08:00
parent
8645aa94c8
commit
708f80d855
@ -3,7 +3,14 @@ function __fish_shared_key_bindings -d "Bindings shared between emacs and vi mod
|
||||
# They are supposed to be unrelated to text-editing (or movement).
|
||||
# This takes $argv so the vi-bindings can pass the mode they are valid in.
|
||||
|
||||
if contains -- -h $argv
|
||||
or contains -- --help $argv
|
||||
echo "Sorry but this function doesn't support -h or --help"
|
||||
return 1
|
||||
end
|
||||
|
||||
bind $argv \cy yank
|
||||
or return # protect against invalid $argv
|
||||
bind $argv \ey yank-pop
|
||||
|
||||
# Left/Right arrow
|
||||
@ -81,10 +88,11 @@ function __fish_shared_key_bindings -d "Bindings shared between emacs and vi mod
|
||||
bind $argv -k f1 __fish_man_page
|
||||
bind $argv \eh __fish_man_page
|
||||
|
||||
# This will make sure the output of the current command is paged using the default pager when you press Meta-p.
|
||||
# This will make sure the output of the current command is paged using the default pager when
|
||||
# you press Meta-p.
|
||||
# If none is set, less will be used.
|
||||
bind $argv \ep '__fish_paginate'
|
||||
|
||||
|
||||
# Make it easy to turn an unexecuted command into a comment in the shell history. Also,
|
||||
# remove the commenting chars so the command can be further edited then executed.
|
||||
bind $argv \e\# __fish_toggle_comment_commandline
|
||||
|
@ -1,4 +1,10 @@
|
||||
function fish_default_key_bindings -d "Default (Emacs-like) key bindings for fish"
|
||||
if contains -- -h $argv
|
||||
or contains -- --help $argv
|
||||
echo "Sorry but this function doesn't support -h or --help"
|
||||
return 1
|
||||
end
|
||||
|
||||
if not set -q argv[1]
|
||||
# Clear earlier bindings, if any
|
||||
bind --erase --all
|
||||
@ -6,16 +12,20 @@ function fish_default_key_bindings -d "Default (Emacs-like) key bindings for fis
|
||||
# Allow the user to set the variable universally
|
||||
set -q fish_key_bindings
|
||||
or set -g fish_key_bindings
|
||||
set fish_key_bindings fish_default_key_bindings # This triggers the handler, which calls us again and ensures the user_key_bindings are executed
|
||||
# This triggers the handler, which calls us again and ensures the user_key_bindings
|
||||
# are executed.
|
||||
set fish_key_bindings fish_default_key_bindings
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
# These are shell-specific bindings that we share with vi mode.
|
||||
__fish_shared_key_bindings $argv
|
||||
or return # protect against invalid $argv
|
||||
|
||||
# This is the default binding, i.e. the one used if no other binding matches
|
||||
bind $argv "" self-insert
|
||||
or exit # protect against invalid $argv
|
||||
|
||||
bind $argv \n execute
|
||||
bind $argv \r execute
|
||||
|
@ -1,4 +1,10 @@
|
||||
function fish_vi_key_bindings --description 'vi-like key bindings for fish'
|
||||
if contains -- -h $argv
|
||||
or contains -- --help $argv
|
||||
echo "Sorry but this function doesn't support -h or --help"
|
||||
return 1
|
||||
end
|
||||
|
||||
# Erase all bindings if not explicitly requested otherwise to
|
||||
# allow for hybrid bindings.
|
||||
# This needs to be checked here because if we are called again
|
||||
@ -16,7 +22,9 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish'
|
||||
# Allow the user to set the variable universally
|
||||
set -q fish_key_bindings
|
||||
or set -g fish_key_bindings
|
||||
set fish_key_bindings fish_vi_key_bindings # This triggers the handler, which calls us again and ensures the user_key_bindings are executed
|
||||
# This triggers the handler, which calls us again and ensures the user_key_bindings
|
||||
# are executed.
|
||||
set fish_key_bindings fish_vi_key_bindings
|
||||
return
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user