Merge branch 'master' of github.com:Shougo/neosnippet
This commit is contained in:
commit
01a4e239f8
54
README.md
54
README.md
@ -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'
|
||||
```
|
||||
|
||||
|
@ -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
|
||||
<
|
||||
|
Loading…
Reference in New Issue
Block a user