Home > Back-end >  fish shell bind not working (MacOS, iterm2, fish 3.5.1)
fish shell bind not working (MacOS, iterm2, fish 3.5.1)

Time:01-08

Can't bind ^F (ctrl F) to complete auto-suggestion.

enter image description here

Also tried to make it permanent by -

# ~/.config/fish/config.fish
function fish_user_key_bindings
    bind \cr 'direnv allow'
    bind \cf accept-autosuggestion
end

if status is-interactive
    # Commands to run in interactive sessions can go here
    fish_user_key_bindings
end

system build & config - I have karabiner elements and better touch tool running but turning it off doesn't have an effect, as I demonstrated the input does get read.

brew info tmux
==> tmux: stable 3.3a (bottled), HEAD
Terminal multiplexer
https://tmux.github.io/
/usr/local/Cellar/tmux/HEAD-1536b7e (9 files, 1.1MB)
  Built from source on 2022-12-01 at 10:24:48
/usr/local/Cellar/tmux/3.3a (9 files, 1MB) *
  Poured from bottle on 2022-06-13 at 16:19:33
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/tmux.rb
License: ISC

--------------------------------------
OS: macOS 13.1 22C65 x86_64
Host: MacBookPro16,2
Kernel: 22.2.0
Uptime: 7 days, 4 hours, 14 mins
Packages: 305 (brew), 44 (nix-user)
Shell: fish 3.5.1
Resolution: 2560x1440
DE: Aqua
WM: Rectangle
Terminal: tmux
CPU: Intel i5-1038NG7 (8) @ 2.00GHz
GPU: Intel Iris Plus Graphics
Memory: 13730MiB / 16384MiB

iterm2: 3.4.18 (auto_updates)
https://www.iterm2.com/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/iterm2.rb

CodePudding user response:

Key bindings apply to a single mode. The default mode is "default", which corresponds to normal mode when using vi key bindings. That is why the binding doesn't work in insert mode.

To add this binding in insert mode:

bind -M insert \cf accept-autosuggestion

If you want it in both normal and insert modes:

bind -M default \cf accept-autosuggestion
bind -M insert \cf accept-autosuggestion
  • Related