This is an addon for Vim providing support for editing fish scripts.
end
terminates in fish.fish_indent
using the gq
operator.gf
command.[i
.K
command.^X^O
command.:make
command.funced
experience using commands like S
to instantly start
typing commands in the function body.funced
when manually creating new functions.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, normally in your ~/.vimrc
:
syntax enable
filetype plugin indent on
Next, set some options for the fish
filetype. You can do this either by
prefixing each line with autocmd FileType fish
, or by putting them in your
own ~/.vim/ftplugin/fish.vim
file:
" Set up :make to use fish for syntax checking.
compiler fish
" Set this to have long lines wrap inside comments.
setlocal textwidth=79
" Enable folding of block structures in fish.
setlocal foldmethod=expr
To make the folds more pleasant to work with you might also want to tweak
settings like foldlevelstart
and foldminlines
, which you could do either
globally in your ~/.vimrc
or locally as described above.
vim-fish ships with:
But you don't have to install any of those to use this addon.
Vim needs a more POSIX compatible shell than fish for certain functionality to
work, such as :%!
, compressed help pages and many third-party addons. If you
use fish as your login shell or launch Vim from fish, you need to set shell
to something else in your ~/.vimrc
, for example:
if &shell =~# 'fish$'
set shell=sh
endif
Best do it somewhere at the top, before any addon code is loaded and executed.
Note that this also affects what :sh[ell]
launches, so if you care about that
you might want to set it to your second best shell instead. If you use Vim in
the terminal you could also train yourself to use :st[op]
or CTRL-Z instead
and then fg
in fish to get back to Vim.