diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 93bdfbd6..262a7597 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -7,7 +7,7 @@ direnv hook fish | source zoxide init fish | source thefuck --alias | source set -x PATH $HOME/.local/bin $PATH -fish_vi_key_bindings +# fish_vi_key_bindings # fish_vi_cursor # set -Ux TERM xterm-256color # set -gx TERM xterm-256color diff --git a/.config/fish/functions/fish_user_key_bindings.fish b/.config/fish/functions/fish_user_key_bindings.fish index ef21e86f..dc417e7e 100755 --- a/.config/fish/functions/fish_user_key_bindings.fish +++ b/.config/fish/functions/fish_user_key_bindings.fish @@ -30,5 +30,22 @@ function fish_user_key_bindings bind -m insert c,L begin-selection kill-selection end-selection repaint-mode bind '`' downcase-word bind ctrl-k 'man (commandline -t) 2>/dev/null; or echo -n \a' + bind y,l kill-word yank + bind y,L kill-bigword yank + + # visual mode + bind -M visual m backward-char + bind -M visual i forward-char + + bind -M visual e up-line + bind -M visual n down-line + bind -M visual l 'set fish_cursor_end_mode exclusive' forward-single-char forward-word backward-char 'set fish_cursor_end_mode inclusive' + bind -M visual L 'set fish_cursor_end_mode exclusive' forward-single-char forward-bigword backward-char 'set fish_cursor_end_mode inclusive' + bind -M visual g,i end-of-line + bind -M visual g,m beginning-of-line + + bind -M visual -m default s end-selection repaint-mode + bind -M visual -m insert h end-selection repaint-mode + bind -M visual -m insert H end-selection beginning-of-line repaint-mode end