Vi-mode in fish shell on OSX
·1 min
Table of Contents
Vi-mode for fish is merged into the master branch but still not released (will be released in 2.2.0), so you need to install it from HEAD:
brew install fish --HEADNow edit .config/fish/config.fish and add
set fish_key_bindings fish_vi_key_bindingsDone, you are good to go. When you want to go back to Normal mode, hit Escape or Ctrl-C.
Additional options #
Open new shells in Insert mode #
If you want to be in insert mode when opening a new shell, also add
set fish_bind_mode insertDefine custom keybindings #
Let’s say that you want to be able to go back to Normal mode by hitting jk (I love that keybinding, by the way).
In order to do that (or to define any custom keybinding), you can do the following:
vim .config/fish/functions/fish_user_key_bindings.fish
function fish_user_key_bindings
fish_vi_key_bindings
bind -M insert -m default jk backward-char force-repaint
endNow go back to your config.fish and replace
set fish_key_bindings fish_vi_key_bindingswith
set fish_key_bindings fish_user_key_bindingsThat’s it. Enjoy your vi-mode!