1
0
mirror of https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles.git synced 2025-09-15 09:45:58 +03:00
Files
linux-nixos-hyprland-config…/home/.config/fish/functions/fish_user_key_bindings.fish
xnm a6caf5ef5e feat(fish): Add helix key bindings from https://github.com/sshilovsky/fish-helix/tree/main
Add comprehensive helix-like modal key bindings system for fish shell
with:
- New `fish_helix_key_bindings` function with helix-inspired navigation
- Modal editing support with count modifiers via `fish_bind_count`
- Visual mode prompt indicator via `fish_default_mode_prompt`
- Enhanced clipboard integration with proper notification formatting

The implementation provides vim/helix-style modal editing while
maintaining
fish shell compatibility and includes proper mode indicators, count
tracking,
and seamless integration with existing fish key binding systems.
2025-08-19 17:47:39 +03:00

27 lines
878 B
Fish

function fish_user_key_bindings
# Execute this once per mode that emacs bindings should be used in
fish_default_key_bindings -M insert
# Then execute the vi-bindings so they take precedence when there's a conflict.
# Without --no-erase fish_vi_key_bindings will default to
# resetting all bindings.
# The argument specifies the initial mode (insert, "default" or visual).
fish_helix_key_bindings --no-erase insert
# Nullify fzf default keybindings
bind \cT '' -M insert
bind \cR '' -M insert
bind \er fzf-history-widget -M insert
bind \ef fzf-file-preview-widget -M insert
bind \ec fzf-cd-preview-widget -M insert
bind \ep fzf-ps-widget -M insert
bind \e\f clear-op -M insert
bind \eb back-op -M insert
bind \eB backtrack-op -M insert
bind \e/ list-op -M insert
bind \ea aichat_fish -M insert
end