Syntax and ftplugin files for fish shell scripts
I recommend the native packages support built into Vim8 and Neovim, but you can use any plugin manager you like.
- Syntax highlighting and filetype detection, of course.
- Code formatting with
fish_indent. - Fold expressions for automatic folding.
- Omni-complete from fish using the
^X^Ocommand. - Comment strings & matchit patterns.
For everything above to work you need to have fish installed in $PATH
and some Vim features turned on. First, tell Vim to use the syntax and
filetype functionality, in your vimrc:
syntax enable
filetype plugin indent onThe above commands are required only for Vim and not for Neovim (which I personally use and recommend over vanilla Vim).
Vim needs a more POSIX compatible shell than fish for certain
functionality to work, such as :%!, compressed help pages and many
third-party plugins. If you use fish as your login shell, you need to
set shell to something else in your vimrc, for example:
if &shell =~# 'fish$'
set shell=sh
endifBest do it somewhere at the top, before any plugin code is loaded and executed.