Merge branch 'master' of github.com:Shougo/neosnippet

This commit is contained in:
Shougo Matsushita 2012-11-01 11:20:00 +09:00
commit 01a4e239f8
2 changed files with 96 additions and 53 deletions

View File

@ -1,10 +1,10 @@
Neosnippet
==========
The Neosnippet plugin adds snippet support to vim. Snippets are
The Neosnippet plug-In adds snippet support to Vim. Snippets are
small templates for commonly used code that you can fill in on the
fly. To use snippets can increase your productivity in vim a lot.
The functionality of this plugin is quite similar to plugins like
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
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
@ -13,17 +13,46 @@ name.
Installation
------------
1. Install [Neocomplecache](https://github.com/Shougo/neocomplcache) first.
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.
### Manual (not recommended)
1. Install the [Neocomplecache](https://github.com/Shougo/neocomplcache) plugin first.
2. Put files in your Vim directory (usually `~/.vim/` or
`%PROGRAMFILES%/Vim/vimfiles` on Windows).
### 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)
```
Bundle 'Shougo/neocomplcache.git'
Bundle 'Shougo/neosnippet.git'
```
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)
```
NeoBundle 'Shougo/neocomplcache.git'
NeoBundle 'Shougo/neosnippet.git'
```
3. Open up Vim and start installation with `:NeoBundleInstall`
Configuration
-------------
Here is an example `~/.vimrc` configuration for Neosnippet. It is assumed
you already have Neocomplecache configured.
With these settings, you will use the following keys:
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:
* `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
@ -46,12 +75,13 @@ endif
```
If you want to use a different collection of snippets other than the built-in
ones, such as [Honza's Snippets](https://github.com/honza/snipmate-snippets), then you
can set the `g:neosnippet#snippets_directory` variable.
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))
```vim
" Tell Neosnippet about these snippets
" Tell Neosnippet about the other snippets
let g:neosnippet#snippets_directory='~/.vim/bundle/snipmate-snippets/snippets'
```

View File

@ -340,7 +340,7 @@ Example:
snippet [name]
abbr [abbreviation]
alias [aliases]
prev_word '^'
options [options]
if ${1:condition}
${2}
endif
@ -362,7 +362,7 @@ Snippet Keywords:
- alias [aliases] (optional)
If you specify an alias it will be also used to expand a snippet. You can
define multiple aliases either using the separators ' ' or ','.
define multiple aliases either using the separators ' ' or ','.
Example
@ -370,11 +370,36 @@ Snippet Keywords:
alias hoge hogera hogehoge
<
- prev_word [definition] (optional)
- options [options] (optional)
In the next line, here already starts the snippet which gets expanded. After
snippet expansion you can jump to the placeholders and replace them with desired
text.
Options influece the snippet behavior. The possible options are:
+ word This snippet expands by a word boundary. Note: To complete
the trigger in snippets_complete, it must be word(digits or
alphabet characters or "_") characters.
>
snippet date
options word
`strftime("%d %b %Y")`
<
+ head This snippet expands on the beginnign of a line only.
Note: This is the same as "prev_word '^'" which is still
there for backwards compatibility.
>
snippet if
if ${1:condition}
${2}
endif
<
+ indent Neosnippet indents the snippet after expansion to the same
column as the line above.
Below the keywords starts the snippet which gets expanded. After the snippet
expansion you can jump to the placeholders and replace them with desired text.
The structure of a placeholder can be:
@ -448,11 +473,11 @@ The structure of a placeholder can be:
- $number
This is the synchronized placeholder. Sometimes it is required to repat a value in
several places inside a snippet. If you set the number of this placeholder
This is a synchronized placeholder. Sometimes it is required to repat a value
in several places inside a snippet. If you set the number of this placeholder
to the same number as one of the other placeholders in the snippet it will
repeat its content if you insert something. $1 is synchronized to ${1} and
so on. $0 will be the final jump placeholder.
repeat its content. $1 is synchronized to ${1} and so on. $0 will be the
final jump placeholder.
Example
@ -516,13 +541,14 @@ E484, Vim(cmdname):{errmsg}"
If you create a snippet file and prepend the filename with a "_" neosnippet
treats the snippets inside the file as global. This means that they will be
available for all file types (e.g _.snip). You can include snippet files with
available for all file types (e.g _.snip). You can include other snippet files
from within a snippet file with.
>
include c.snip
<
or if you want to include a whole directory with file type snippets.
Or if you want to include a whole directory with file type snippets.
>
include javascript/*
@ -539,7 +565,6 @@ detects this. If you want to overwrite a snippet explicitly, please use:
After that you can redefine the snippet. But this does not work if you include
external snippet files. There will be no warning when snippets get overwritten.
Multi snippet feature in snipMate is available.
Neosnippet substitutes trigger and descriptions spaces to '_'.
>
@ -558,32 +583,20 @@ languages' indent files can not work very well (e.g.: PHP, Python).
${2:// code...}
}
<
SNIPPET SYNTAX OPTIONS *neosnippet-snippet-syntax-options*
"options head" means this snippet is enabled only in line head.
Note: prev_word '^' is duplicated keyword.
"options word" means this snippet is expanded by word boundary.
Note: To complete the trigger in snippets_complete, it must be word(digits or
alphabet characters or "_") characters.
>
snippet date
options word
`strftime("%d %b %Y")`
<
"options indent" means neosnippet indents in expanded line.
==============================================================================
UNITE SOURCES *neosnippet-unite-sources*
*neosnippet-unite-source-snippet*
snippet
The candidates are neosnippet snippets. The kinds are
"snippet". Normally used in
|<Plug>(neosnippet_start_unite_snippet)| mappings.
But you can execute it by ":Unite snippet".
You can edit snippet file in "edit" action.
Examples:
The candidates of the snippet source are neosnippet snippets.
and their kind is "snippet". You can use the snippet source
with the mapping |<Plug>(neosnippet_start_unite_snippet)|.
But you can also execute it by ":Unite snippet". The snippet
source offers an edit action you can use to edit the snippet
files.
Example:
>
imap <C-s> <Plug>(neosnippet_start_unite_snippet)
<
@ -597,26 +610,26 @@ snippet *neosnippet-unite-action-snippet*
==============================================================================
FAQ *neosnippet-faq*
Q: Don't expanded snippet trigger after (, [, " etc...:
Q: What if I do not like to expand a snippet trigger after (, [, " etc...:
A: You should use "options word" in snippet definition. "options word" means
this snippet is expanded by word boundary.
A: You should use "options word" in the snippet definition. This changes the
expansion behavior to a word boundary.
>
snippet date
options word
`strftime("%d %b %Y")`
<
Q: Doesn't indent in expanded line:
Q: Why does neosnippet not indent the expanded snippet?
A: You should use "options indent" in snippet definition. In default,
neosnippet doesn't indent in expanded line.
A: You should use "options indent" in the snippet definition. In default,
neosnippet doesn't indent the expanded line.
Q: Neosnippet conflicts with |LustyJuggler|.
Q: What if Neosnippet conflicts with |LustyJuggler|.
http://www.vim.org/scripts/script.php?script_id=2050
A: Please try below settings:
Note: But you must unmap in select mode mappings manually.
Note: But you must unmap the mappings in select mode manually.
>
let g:neosnippet#disable_select_mode_mappings = 0
<