2012-10-29 23:00:04 +00:00
|
|
|
Neosnippet
|
|
|
|
==========
|
|
|
|
|
2012-10-31 08:11:33 +00:00
|
|
|
The Neosnippet plug-In adds snippet support to Vim. Snippets are
|
2012-10-30 14:20:46 +00:00
|
|
|
small templates for commonly used code that you can fill in on the
|
2012-10-31 08:11:33 +00:00
|
|
|
fly. To use snippets can increase your productivity in Vim a lot.
|
|
|
|
The functionality of this plug-in is quite similar to plug-ins like
|
2012-10-30 14:20:46 +00:00
|
|
|
snipMate.vim or snippetsEmu.vim. But since you can choose snippets with the
|
|
|
|
[Neocomplecache](https://github.com/Shougo/neocomplcache) interface, you might
|
|
|
|
have less trouble using them, because you do not have to remember each snippet
|
|
|
|
name.
|
|
|
|
|
2013-02-24 13:23:31 +00:00
|
|
|
Note: neocomplecache is NOT required! But recommended.
|
|
|
|
|
2013-03-24 08:22:20 +00:00
|
|
|
Extra snippets files are available in:
|
|
|
|
[snipmate-snippets](https://github.com/honza/snipmate-snippets)
|
|
|
|
|
2012-10-30 14:20:46 +00:00
|
|
|
Installation
|
|
|
|
------------
|
2012-10-29 23:00:04 +00:00
|
|
|
|
2012-10-31 08:17:27 +00:00
|
|
|
To install neosnippet and other Vim plug-ins it is recommended to use one of the
|
|
|
|
popular package managers for Vim, rather than installing by drag and drop all
|
|
|
|
required files into your `.vim` folder.
|
2012-10-31 08:11:33 +00:00
|
|
|
|
|
|
|
### Manual (not recommended)
|
|
|
|
|
2012-10-31 08:17:27 +00:00
|
|
|
1. Install the [Neocomplecache](https://github.com/Shougo/neocomplcache) plugin first.
|
2012-10-29 23:00:04 +00:00
|
|
|
2. Put files in your Vim directory (usually `~/.vim/` or
|
|
|
|
`%PROGRAMFILES%/Vim/vimfiles` on Windows).
|
|
|
|
|
2012-10-31 08:11:33 +00:00
|
|
|
### Vundle
|
|
|
|
|
|
|
|
1. Setup the [vundle](https://github.com/gmarik/vundle) package manager
|
|
|
|
2. Set the bundles for [Neocomplecache](https://github.com/Shougo/neocomplcache) and [Neobundle](https://github.com/Shougo/neosnippet)
|
|
|
|
|
2013-03-03 15:19:22 +00:00
|
|
|
```
|
|
|
|
Bundle 'Shougo/neocomplcache.git'
|
|
|
|
Bundle 'Shougo/neosnippet.git'
|
|
|
|
```
|
2012-10-31 08:11:33 +00:00
|
|
|
|
|
|
|
3. Open up Vim and start installation with `:BundleInstall`
|
|
|
|
|
|
|
|
### Neobundle
|
|
|
|
|
|
|
|
1. Setup the [neobundle](https://github.com/Shougo/neobundle.vim) package manager
|
|
|
|
2. Set the bundles for [Neocomplecache](https://github.com/Shougo/neocomplcache) and [Neobundle](https://github.com/Shougo/neosnippet)
|
|
|
|
|
2013-03-03 15:19:22 +00:00
|
|
|
```
|
|
|
|
NeoBundle 'Shougo/neocomplcache.git'
|
|
|
|
NeoBundle 'Shougo/neosnippet.git'
|
|
|
|
```
|
2012-10-31 08:11:33 +00:00
|
|
|
|
|
|
|
3. Open up Vim and start installation with `:NeoBundleInstall`
|
|
|
|
|
2013-03-03 15:19:22 +00:00
|
|
|
### VAM (vim-addon-manager)
|
|
|
|
|
|
|
|
1. Setup the [vim-addon-manager](https://github.com/MarcWeber/vim-addon-manager)
|
|
|
|
package manager.
|
|
|
|
2. Add `neosnippet` to the list of addons in your vimrc:
|
|
|
|
|
|
|
|
```vim
|
|
|
|
call vam#ActivateAddons(['neosnippet'])
|
|
|
|
```
|
|
|
|
|
|
|
|
. Installation will start automatically when you open vim next time.
|
|
|
|
|
2012-10-30 14:20:46 +00:00
|
|
|
Configuration
|
|
|
|
-------------
|
2012-10-29 23:00:04 +00:00
|
|
|
|
2012-10-31 08:17:27 +00:00
|
|
|
This is an example `~/.vimrc` configuration for Neosnippet. It is assumes you
|
|
|
|
already have Neocomplecache configured. With the settings of the example, you
|
|
|
|
can use the following keys:
|
2012-10-29 23:00:04 +00:00
|
|
|
|
|
|
|
* `C-k` to select-and-expand a snippet from the Neocomplecache popup (Use `C-n`
|
|
|
|
and `C-p` to select it). `C-k` can also be used to jump to the next field in
|
|
|
|
the snippet.
|
|
|
|
* `Tab` to select the next field to fill in the snippet.
|
|
|
|
|
|
|
|
```vim
|
|
|
|
" Plugin key-mappings.
|
|
|
|
imap <C-k> <Plug>(neosnippet_expand_or_jump)
|
|
|
|
smap <C-k> <Plug>(neosnippet_expand_or_jump)
|
|
|
|
|
|
|
|
" SuperTab like snippets behavior.
|
2013-01-12 23:08:51 +00:00
|
|
|
imap <expr><TAB> neosnippet#expandable_or_jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
|
|
|
|
smap <expr><TAB> neosnippet#expandable_or_jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
|
2012-10-29 23:00:04 +00:00
|
|
|
|
|
|
|
" For snippet_complete marker.
|
|
|
|
if has('conceal')
|
|
|
|
set conceallevel=2 concealcursor=i
|
|
|
|
endif
|
|
|
|
|
|
|
|
```
|
|
|
|
|
2012-10-31 08:17:27 +00:00
|
|
|
If you want to use a different collection of snippets than the
|
|
|
|
built-in ones, then you can set a path to the snippets with
|
|
|
|
the `g:neosnippet#snippets_directory` variable (e.g [Honza's
|
|
|
|
Snippets](https://github.com/honza/snipmate-snippets))
|
2012-10-29 23:00:04 +00:00
|
|
|
|
|
|
|
```vim
|
2012-10-31 08:17:27 +00:00
|
|
|
" Tell Neosnippet about the other snippets
|
2012-10-29 23:00:04 +00:00
|
|
|
let g:neosnippet#snippets_directory='~/.vim/bundle/snipmate-snippets/snippets'
|
|
|
|
```
|
|
|
|
|