changes for README from SirVers 32650 (last commit of last PR)

This commit is contained in:
Marc Weber 2014-03-04 09:26:10 +01:00
parent 26ff066e73
commit d5ae1f721a

101
README.md
View File

@ -1,5 +1,3 @@
IMPORTANT: comment on: [What about merging with Ultisnip using its engine](https://github.com/garbas/vim-snipmate/issues/114)
Snipmate & UltiSnip Snippets Snipmate & UltiSnip Snippets
============================ ============================
@ -9,51 +7,48 @@ It is community-maintained and many people have contributed snippet files and
other improvements already. other improvements already.
Contents Contents
======== --------
snippets/*: snippets using snipmate format - `snippets/*`: snippets using snipmate format
UltiSnips/*: snippets using UltiSnips format - `UltiSnips/*`: snippets using UltiSnips format
Snippet engines supporting vim-snippets Snippet engines supporting vim-snippets
======================================== ----------------------------------------
There are different forks of snippet engines which allow the user to insert There are different forks of snippet engines which allow the user to insert
snippets by typing the name of a snippet hitting the expansion mapping. snippets by typing the name of a snippet hitting the expansion mapping.
github.com/garbas/vim-snipmate: - [github.com/SirVer/ultisnips](https://github.com/SirVer/ultisnips):
VimL, snipmate-snippets, engine sometimes behaves strange, supports python, supports all snippets in this repo.
rewriting snippets on the fly (eg adding a second version with folding - [github.com/garbas/vim-snipmate](https://github.com/garbas/vim-snipmate):
markers) VimL, snipmate-snippets, engine sometimes behaves strange. Supports
snippets/*
- [github.com/Shougo/neosnippet](https://github.com/Shougo/neosnippet.vim):
VimL, supports snippets/* with some configuration.
- [github.com/drmingdrmer/xptemplate](https://github.com/drmingdrmer/xptemplate):
Totally different syntax, does not read snippets contained in this file, but
it is also very powerful. It does not support vim-snippets (just listing it
here for completness)
github.com/MarcWeber/UltiSnips: There tries to be a more comprehensive list (which still is incomplete) here:
python, snipmate-snippets and UltiSnips-snippets
github.com/SirVer/ultisnips:
python, UltiSnips-snippets
github.com/Shougo/neosnippet:
viml, has a compatible mode allowing to reuse most snipmate snippets ?
github.com/drmingdrmer/xptemplate:
Totally different syntax, does not read snippets contained in this file,
but it is also very powerful. It does not support vim-snippets (just
listing it here for completness)
This tries to be a more comprehensive list (which still is incomplete)
http://vim-wiki.mawercer.de/wiki/topic/text-snippets-skeletons-templates.html http://vim-wiki.mawercer.de/wiki/topic/text-snippets-skeletons-templates.html
UltiSnips engine has additional features such as "nested snippets". UltiSnips has additional features such as high speed, nesting snippets,
expanding snippets in snippets and offers powerful transformations on text in
snippets (like visual selections or placeholder texts).
Which one to use? If you have python give MarcWeber/UltiSnips a try because its Which one to use? If you have python give
fast and supports all important features. You can prefer the UltiSnip versions [SirVer/ultisnips](https://github.com/SirVer/ultisnips) a try because its fast
of the snippets by setting the "always_use_first_snippet" option to 1. and has the most features.
If you have VimL only (vim without python support) your best option is using If you have VimL only (vim without python support) your best option is using
garbas/vim-snipmate and cope with the minor bugs found in the engine. [garbas/vim-snipmate](https://github.com/garbas/vim-snipmate) and cope with the
minor bugs found in the engine.
Installation Installation
============ ------------
First be aware that there are many options, see "Snippet engines" above. First be aware that there are many options, see "Snippet engines" above.
Second be aware than there are [tons of plugin managers](http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html) Second be aware than there are [tons of plugin managers](http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html)
which is why Marc Weber thinks that it doesn't make sense to repeat the same which is why Marc Weber thinks that it doesn't make sense to repeat the same
@ -84,7 +79,8 @@ If you still have trouble getting this to work create a github ticket, ask on
irc or the mailinglist. irc or the mailinglist.
Policies / for contributors Policies / for contributors
=========================== ---------------------------
Some snippets are useful for almost all languages, so let's try to have the same Some snippets are useful for almost all languages, so let's try to have the same
triggers for them: triggers for them:
@ -96,11 +92,7 @@ el : else ..
wh : while (cond) ... wh : while (cond) ...
``` ```
If you're not satisfied with these defaults, open a ticket that we implement Don't add useless placeholder default texts like
aliasing. Then you can remap "else" to "el" or the like.
Don't add stupid placeholder default texts like
``` ```
if (${1:condition}){ if (${1:condition}){
${2:some code here} ${2:some code here}
@ -127,7 +119,7 @@ Discuss at: https://github.com/honza/vim-snippets/issues/230
Related repositories Related repositories
==================== --------------------
We also encourage people to maintain sets of snippets for particular use cases We also encourage people to maintain sets of snippets for particular use cases
so that all users can benefit from them. People can list their snippet repositories here: so that all users can benefit from them. People can list their snippet repositories here:
@ -138,15 +130,15 @@ so that all users can benefit from them. People can list their snippet reposito
Installation using VAM: "github:rbonvall/snipmate-snippets-bib" Installation using VAM: "github:rbonvall/snipmate-snippets-bib"
Future - ideas - examples Future - ideas - examples
========================= -------------------------
[overview snippet engines](http://vim-wiki.mawercer.de/wiki/topic/text-snippets-skeletons-templates.html) [overview snippet engines](http://vim-wiki.mawercer.de/wiki/topic/text-snippets-skeletons-templates.html)
If you have ideas you can add them to that list of "snippet engine features by example". If you have ideas you can add them to that list of "snippet engine features by example".
Historical notes Historical notes
================ ----------------
[vim-snipmate][1] was originally started by [Michael Sanders][2] who has now [vim-snipmate][1] was originally started by [Michael Sanders][2] who has now
unfortunately abandoned the project. [Rok Garbas][3] is now maintaining a unfortunately abandoned the project. [Rok Garbas][3] is now maintaining a
@ -170,14 +162,6 @@ let g:snipMate.scope_aliases = {}
let g:snipMate.scope_aliases['ruby'] = 'ruby,ruby-rails,ruby-1.9' let g:snipMate.scope_aliases['ruby'] = 'ruby,ruby-rails,ruby-1.9'
``` ```
or github.com/MarcWeber/UltiSnips this way:
```vim
let g:UltiSnips = {}
let g:UltiSnips.snipmate_ft_filter = {
\ 'default' : {'filetypes': ["FILETYPE"] },
\ 'ruby' : {'filetypes': ["ruby", "ruby-rails", "ruby-1.9"] }, \ 'ruby' : {'filetypes': ["ruby", "ruby-rails", "ruby-1.9"] },
``` ```
@ -192,16 +176,15 @@ ruby-library-version triplet. Sometimes postfixing a name such as
will do it then if syntax has changed. will do it then if syntax has changed.
Language maintainers Language maintainers
-------------------- --------------------
No one can really be proficient in all programming languages. If you would like No one can really be proficient in all programming languages. If you would like
to maintain snippets for a language, please get in touch. to maintain snippets for a language, please get in touch.
Notes: People are interested in snippets - and their interest may stop again Notes: People are interested in snippets - and their interest may wane again.
at will. So its ok if people maintain a language only for a short period of This list is kept up-to-date on a best effort basis.
time - or jump in and get things done - don't let the flow stop :)
vim-snippets is not like the "linux kernel".
* Python - [honza](http://github.com/honza) * Python - [honza](http://github.com/honza)
* Javascript - [honza](http://github.com/honza) * Javascript - [honza](http://github.com/honza)
@ -220,18 +203,13 @@ Until further work is done on `vim-snipmate`, please don't add folding markers
into snippets. `vim-snipmate` has some comments about how to patch all snippets into snippets. `vim-snipmate` has some comments about how to patch all snippets
on the fly adding those. on the fly adding those.
Because MarcWeber/UltiSnips [6] supports also snipmate-snippets there is no Because UltiSnips reads snipmate-snippets too there is no need to duplicate all
need to duplicate all snippets - only those snippets who use advanced UltiSnips snippets - only those snippets who use advanced UltiSnips features should be
features should be duplicated in UltiSnips (?) duplicated in UltiSnips.
Currently all snippets from UltiSnips have been put into UltiSnips - some work Currently all snippets from UltiSnips have been put into UltiSnips - some work
on merging should be done (dropping duplicates etc) on merging should be done (dropping duplicates etc)
Authors
-------
For a list of authors, please see the `AUTHORS` files.
License License
------- -------
@ -243,5 +221,4 @@ terms of the MIT license.
[2]: http://github.com/msanders [2]: http://github.com/msanders
[3]: http://github.com/garbas [3]: http://github.com/garbas
[4]: http://github.com/garbas/vim-snipmate [4]: http://github.com/garbas/vim-snipmate
[6]: http://github.com/MarcWeber/UltiSnips
[7]: http://github.com/SirVer/ultisnips [7]: http://github.com/SirVer/ultisnips