Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Neosnippet.vim +
Deoppet.nvim
VimConf 2017
Shougo
@ShougoMatsu
Profile
● Shougo
● The dark powered Vim user 暗黒美無王
(Uncock Vim Awe, The dark Vim maestro)
● The text editor is the world
●...
The dark powered plugins
● deoplete.nvim: The next completion plugin for neovim
● deol.nvim: The next terminal plugin for ...
Today's theme
● The snippet plugins
● neosnippet.vim
● deoppet.nvim
● The extra thing
Note:No songs
The snippet plugins
What is the snippet plugin?
● It expands the snippet trigger
Ex: if → if () {}
● And jumps the next places(place holder)
E...
neosnippet.vim
https://github.com/Shougo/neosnippet.vim
● The neo-snippet plugin
● The marker type snippet plugin
● Popula...
snipMate
https://github.com/garbas/vim-snipmate
● Easy to read syntax
● Very popular
● The development seems slowly
● The ...
UltiSnips
https://github.com/Silver/ultisnips
● Non compatible syntax with snipMate
● Popular
● Many features
● The non-ma...
What is the marker type snippet plugin?
● It adds the markers to the buffer to detect the next jump
places
Ex: <`1`>
● It ...
What is the non marker type snippet
plugin?
● It monitors the buffer changes to find the next jump
position
● The implemen...
Neosnippet.vim
The history of neosnippet.vim
● I don't understand why the snippet plugins are useful
● I have created the snippet plugin ...
neosnippet.vim disadvantages
● Conflicts with conceal feature
● Hard to implement jump back feature
● It changes the buffe...
Deoppet.nvim
deoppet.nvim
https://github.com/Shougo/deoppet.nvim
● The dark powered neo snippet plugin
● Compatible syntax with neosnip...
Extended marks feature
● It detects the buffer changes automatically
● The plugins don’t have to detect the buffer changes...
Current development status
● Works the simple neosnippet syntax parser
● Can expand the snippet trigger
● The Completion b...
Current development status
● Works the simple neosnippet syntax parser
● Can expand the snippet trigger
● The Completion b...
The demo of deoppet.nvim
The extra thing
The extra thing
● neocomplete.vim development is over
● Because deoplete.nvim supports Vim8
● You can try it
● Enjoy!
Thank you!
Nächste SlideShare
Wird geladen in …5
×

Neosnippet.vim + Deoppet.nvim in Vim conf 2017

4.943 Aufrufe

Veröffentlicht am

I will speak about the snippet plugin, neosnippet.vim and deoppet.nvim.
deoppet.nvim is the next generation of snippet plugin.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Neosnippet.vim + Deoppet.nvim in Vim conf 2017

  1. 1. Neosnippet.vim + Deoppet.nvim VimConf 2017 Shougo @ShougoMatsu
  2. 2. Profile ● Shougo ● The dark powered Vim user 暗黒美無王 (Uncock Vim Awe, The dark Vim maestro) ● The text editor is the world ● My icon is not zebra!
  3. 3. The dark powered plugins ● deoplete.nvim: The next completion plugin for neovim ● deol.nvim: The next terminal plugin for neovim/Vim8 ● dein.vim: The next plugin manager for neovim/Vim8 ● denite.nvim: The next UI plugin for neovim/Vim8 ● deoppet.nvim: The next snippet plugin for neovim (vaporware) ● defx.nvim: The next file manager for neovim/Vim8 (vaporware) ● deorise.nvim: The next hexadecimal editor plugin for neovim/Vim8 (vaporware)
  4. 4. Today's theme ● The snippet plugins ● neosnippet.vim ● deoppet.nvim ● The extra thing Note:No songs
  5. 5. The snippet plugins
  6. 6. What is the snippet plugin? ● It expands the snippet trigger Ex: if → if () {} ● And jumps the next places(place holder) Ex: if (${1}) { ${2} } ● You don’t have to insert the texts and move to the next position manually ● The similar plugins: The template plugin, emmet-vim
  7. 7. neosnippet.vim https://github.com/Shougo/neosnippet.vim ● The neo-snippet plugin ● The marker type snippet plugin ● Popular in Japan ● Compatible with snipMate syntax ● Integrated with the completion plugins ● Vim script based
  8. 8. snipMate https://github.com/garbas/vim-snipmate ● Easy to read syntax ● Very popular ● The development seems slowly ● The non-marker type snippet plugin ● Vim script based
  9. 9. UltiSnips https://github.com/Silver/ultisnips ● Non compatible syntax with snipMate ● Popular ● Many features ● The non-marker type snippet plugin ● if_python/if_python3 based ● Slow performance in neovim
  10. 10. What is the marker type snippet plugin? ● It adds the markers to the buffer to detect the next jump places Ex: <`1`> ● It is easy to implement ● No performance problem ● Easy to find the next jump places
  11. 11. What is the non marker type snippet plugin? ● It monitors the buffer changes to find the next jump position ● The implementation is complex ● It is easy to implement jump back feature
  12. 12. Neosnippet.vim
  13. 13. The history of neosnippet.vim ● I don't understand why the snippet plugins are useful ● I have created the snippet plugin as builtin neocomplcache source ● The snippet plugin is very huge... → neosnippet.vim ● The default snippets are very huge and not easy to customize for the users → neosnippet-snippets
  14. 14. neosnippet.vim disadvantages ● Conflicts with conceal feature ● Hard to implement jump back feature ● It changes the buffer ● The slow parser (Vim script performance problem) ● It is hard to extend…
  15. 15. Deoppet.nvim
  16. 16. deoppet.nvim https://github.com/Shougo/deoppet.nvim ● The dark powered neo snippet plugin ● Compatible syntax with neosnippet.vim ● The non-marker type snippet plugin ● It depends on Extended Marks feature in neovim https://github.com/neovim/neovim/pull/5031 ● neovim only ● Python3 based, almost 300 lines
  17. 17. Extended marks feature ● It detects the buffer changes automatically ● The plugins don’t have to detect the buffer changes ● And it has the namespaces let ns = nvim_init_mark_ns(‘deoppet’) let id = nvim_buf_set_marks(bufnr, ns, ‘’, row, col)
  18. 18. Current development status ● Works the simple neosnippet syntax parser ● Can expand the snippet trigger ● The Completion by deoplete ● Can Jump forward/jump back to the placeholders ● It is hard to try...
  19. 19. Current development status ● Works the simple neosnippet syntax parser ● Can expand the snippet trigger ● The Completion by deoplete ● Can Jump forward/jump back to the placeholders ● It is hard to try...
  20. 20. The demo of deoppet.nvim
  21. 21. The extra thing
  22. 22. The extra thing ● neocomplete.vim development is over ● Because deoplete.nvim supports Vim8 ● You can try it ● Enjoy!
  23. 23. Thank you!

×