vim-fish


Ⅰ. 插件描述

Vim support for editing fish scripts

Ⅱ. 基本信息

创建日期:  2013-05-05
使用用户:  809
Github星:  310
插件作者:  Dag Odenhall

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'dag/vim-fish'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'dag/vim-fish'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'dag/vim-fish'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/dag/vim-fish

Ⅳ. 文档说明

vim-fish

This is an addon for Vim providing support for editing [fish][] scripts.

Features aplenty

  • Syntax highlighting and filetype detection, of course.
  • Automatic indentation based on keywords for control structures.
  • Automatic folds for everything that end terminates in fish.
  • Code formatting with fish_indent using the gq operator.
  • Jumping to file in fish's function path that defines the function under the
    cursor using the gf command.
  • Searching for definitions including sourced files using commands like [i.
  • Keyword lookup that includes pages for fish builtins using the K command.
  • Completions from fish using the ^X^O command.
  • Syntax checking with quickfix using the :make command.
  • Improved funced experience using commands like S to instantly start
    typing commands in the function body.
  • Mimics funced when manually creating new functions.
  • Automatic formatting of comments.

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.

A team player

vim-fish ships with:

  • Code snippets for [UltiSnips][]
  • A syntax checker for [Syntastic][]
  • Insertion rules for [endwise][]
  • Configuration for [commentary][]
  • Patterns for [matchit][]

But you don't have to install any of those to use this addon.

Teach a Vim to fish…

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.

添加新评论