if status is-interactive # Text editors to look for by order of preference set -f editors 'nvim' 'vim' 'vi' 'micro' 'nano' # Find a suitable text editor set -f found_editor (find_prog $editors) if test -n "$found_editor" switch $found_editor case 'nvim' alias vi nvim alias vim nvim alias vicfg 'nvim ~/.config/nvim/init.vim' alias vipcfg 'nvim ~/.config/nvim/plugins' case 'vim' alias vi vim alias nvim vim alias vicfg 'vim ~/.config/vim/init.vim' alias vipcfg 'vim ~/.config/vim/plugins' case 'vi' alias vim vi alias nvim vi end alias e $found_editor # If $EDITOR is unset, set it if test -z "$EDITOR" set -x EDITOR $found_editor end end if command -sq neovide alias xvi neovide alias gvi neovide alias xeditor neovide end alias_if nano edit alias_if micro edit alias cfg 'editor ~/.config/fish/config.fish' end