Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Let's talk about neovim 
Shougo (暗黒美夢王)
Caution! 
● This slide is in English. 
● But the talk is in Japanese. 
● It is not any of official information. 
● It is my personal thought and understanding. It 
may contain several mistakes. 
● The presentation has spiritual topic, Battle Editors 
and Chuunibyou (中二病). 
● They are features.
Self-introduction 
● Shougo 
● I am called as “暗黒美夢王”. Pronouces it “Uncock 
Vim Awe”. 
● Fufufu... my Vim is dark powered. 
● I always think about Text Editors. 
● I love Vim and Vim script. 
● Experience of Vim: 8 years 
● Experience of Vim script: 6 years
What's neovim?(3 lines) 
● It is forked Vim. 
● It is developed in github instead of ML. 
● It aims “Modern Vim”.
Features(contains planned) 
● Some features are removed(Ex: vi compatible mode, 
spellcheck, crypto, old platforms support). 
● The source code is refactored. 
● Asynchronous communication by MessagePackRPC. 
● The developers can make plugins by multiple languages. 
● Vim script remains to keep the compatibility. 
● GUI feature will be implemented by MessagePackRPC. 
● Can embed neovim in other applications.
Background 
● 20 years later, Vim users have changed. 
● There are two types of Vim users. 
● 1: Light Vim users. They use Vim as Text Editor. 
– Ex: System administrators, Vim develpers, Embedded develpers 
● 2: Dark Vim users. They use Vim as IDE or environment. 
– Ex: Plugin junkies, Plugin develpers, Web develpers 
● Dark Vim users are increased. But many develpers in vim_dev are 
Light Vim users. Because they has enough Vim(C) skill. 
● Dark Vim users sent some patches to vim_dev, but it is not accepted. 
● So, Dark Vim users(Mr.tarruda and the contributers) forked Vim => 
neovim
Weak point 
● Neovim is not 100% compatible with Vim. 
● Less developers. 
● They may decide wrong decision. 
● Cannot merge from many upstream patches. 
● No GUI yet. 
● No if_lua, if_ruby yet(if_python2 is available).
Current upstream patches(in 11/06) 
● Note: neovim is started in Vim 7.4.165. 
● http://neovim.org/doc/reports/vimpatch/ 
● All patches: 507 
● Merged: 321 
● N/A(not needed): 84 
● Pull requests are available: 22 
● Patches are needed!: 80
Fork is not easy solution! 
● Vim is developed activily(400 patches in 1 year). 
● Forked project needs more develpers power than original. 
● Wins fork or original. Not both. 
● Example: Chromium forked browser, Firefox forked 
browser, XEmacs 
● Example2: https://github.com/Floobits/vim 
– It is settimeout() implementation fork, but it is not maintained. 
https://github.com/Floobits/vim/issues/3 
– They have developed neovim plugin. 
– https://github.com/Floobits/floobits-neovim
My support for neovim 
● Donated(both Vim and neovim). 
● Watching issues, reddit, neovim, Web pages. 
● Pull requested some of upstream patches. 
● I will create next generation of completion plugin 
for neovim by Lua language... 
● It will be full asynchronous completion engine.
Why do I support neovim? 
● Note: I am not 100% agree with neovim 
development. 
● Many people are exciting(I have not seen negative 
opinions). 
● Neovim may solve Vim problems. 
● The competition of the development environments 
becomes hard(IDE, Atom, Sublime Text, etc). 
● Emacs power is downed. 
● I cannot be optimistic about Vim's future.
Current Editor's trend
Why does Vim users not decrease? 
● I think Light Vim users are not grown. 
● I think Dark Vim users are grown from other 
editors/IDEs. 
● If the users disappointed at Vim, Vim power will be 
downed.
Vim design policy 
● :help design-not 
VIM IS... NOT *design-not* 
- Vim is not a shell or an Operating System. You will not be able to run a 
shell inside Vim or use it to control a debugger. This should work the 
other way around: Use Vim as a component from a shell or in an IDE. 
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include 
everything but the kitchen sink, but some people say that you can clean one 
with it. ;-)" 
To use Vim with gdb see: http://www.agide.org and http://clewn.sf.net. 
- Vim is not a fancy GUI editor that tries to look nice at the cost of 
being less consistent over all platforms. But functional GUI features are 
welcomed. 
●
What's “the text editor”? 
● Current text editors are like IDE. 
– Syntax check, Plugin manager, Auto completion, 
Asynchronous processes 
● Vim is not the exception. 
– Scripting, QuickFix, Builtin completions, Tab, Preview 
window 
● The definition of “the text editors” can be change. 
● I think current editors are “configurable/pluggable/lite 
IDE” instead of traditional editors(example: vi, nano).
Vim-jp and neovim 
● http://vim-jp.org/ 
● Vim-jp is original Vim community in Japan. 
● It combines Vim users and Vim plugin develpers and Vim develpers. 
● github issues development. 
● Patch review in github. 
● High skilled Vim(C) Develpers. 
● I think it is similar to neovim. 
● It is modern and traditional hybrid. 
● I think Vim-jp develpers 
can support neovim.
Future next 
● neovim Lua client(if_lua) is under development. 
https://github.com/neovim/lua-client 
● Neovim will release beta version in December.... 
● I think neovim limit time is until Vim 8.0(2015 
summer?)
Conclusion 
● Do you look forward to neovim? 
● Then, you should support neovim. 
● Magic power is nothing in open source world. 
● Neovim is not vaperware. But it is in just start line. 
It is not easy to continue the project like Vim. 
● My hope is coexistense with light Vimmers and 
dark Vimmers instead of exclusion.
Finally... 
● I created new parody song for Vim conference 2014. 
● The song name is “Neo Edit it all”. 
● It is about “neovim”. 
● Unfortunatelly, it is Japanese song. 
● Are you ready? 
● NNoottee:: UUSSTT iiss nnoott aavvaaiillaabbllee..

More Related Content

Let's talk about neovim

  • 1. Let's talk about neovim Shougo (暗黒美夢王)
  • 2. Caution! ● This slide is in English. ● But the talk is in Japanese. ● It is not any of official information. ● It is my personal thought and understanding. It may contain several mistakes. ● The presentation has spiritual topic, Battle Editors and Chuunibyou (中二病). ● They are features.
  • 3. Self-introduction ● Shougo ● I am called as “暗黒美夢王”. Pronouces it “Uncock Vim Awe”. ● Fufufu... my Vim is dark powered. ● I always think about Text Editors. ● I love Vim and Vim script. ● Experience of Vim: 8 years ● Experience of Vim script: 6 years
  • 4. What's neovim?(3 lines) ● It is forked Vim. ● It is developed in github instead of ML. ● It aims “Modern Vim”.
  • 5. Features(contains planned) ● Some features are removed(Ex: vi compatible mode, spellcheck, crypto, old platforms support). ● The source code is refactored. ● Asynchronous communication by MessagePackRPC. ● The developers can make plugins by multiple languages. ● Vim script remains to keep the compatibility. ● GUI feature will be implemented by MessagePackRPC. ● Can embed neovim in other applications.
  • 6. Background ● 20 years later, Vim users have changed. ● There are two types of Vim users. ● 1: Light Vim users. They use Vim as Text Editor. – Ex: System administrators, Vim develpers, Embedded develpers ● 2: Dark Vim users. They use Vim as IDE or environment. – Ex: Plugin junkies, Plugin develpers, Web develpers ● Dark Vim users are increased. But many develpers in vim_dev are Light Vim users. Because they has enough Vim(C) skill. ● Dark Vim users sent some patches to vim_dev, but it is not accepted. ● So, Dark Vim users(Mr.tarruda and the contributers) forked Vim => neovim
  • 7. Weak point ● Neovim is not 100% compatible with Vim. ● Less developers. ● They may decide wrong decision. ● Cannot merge from many upstream patches. ● No GUI yet. ● No if_lua, if_ruby yet(if_python2 is available).
  • 8. Current upstream patches(in 11/06) ● Note: neovim is started in Vim 7.4.165. ● http://neovim.org/doc/reports/vimpatch/ ● All patches: 507 ● Merged: 321 ● N/A(not needed): 84 ● Pull requests are available: 22 ● Patches are needed!: 80
  • 9. Fork is not easy solution! ● Vim is developed activily(400 patches in 1 year). ● Forked project needs more develpers power than original. ● Wins fork or original. Not both. ● Example: Chromium forked browser, Firefox forked browser, XEmacs ● Example2: https://github.com/Floobits/vim – It is settimeout() implementation fork, but it is not maintained. https://github.com/Floobits/vim/issues/3 – They have developed neovim plugin. – https://github.com/Floobits/floobits-neovim
  • 10. My support for neovim ● Donated(both Vim and neovim). ● Watching issues, reddit, neovim, Web pages. ● Pull requested some of upstream patches. ● I will create next generation of completion plugin for neovim by Lua language... ● It will be full asynchronous completion engine.
  • 11. Why do I support neovim? ● Note: I am not 100% agree with neovim development. ● Many people are exciting(I have not seen negative opinions). ● Neovim may solve Vim problems. ● The competition of the development environments becomes hard(IDE, Atom, Sublime Text, etc). ● Emacs power is downed. ● I cannot be optimistic about Vim's future.
  • 13. Why does Vim users not decrease? ● I think Light Vim users are not grown. ● I think Dark Vim users are grown from other editors/IDEs. ● If the users disappointed at Vim, Vim power will be downed.
  • 14. Vim design policy ● :help design-not VIM IS... NOT *design-not* - Vim is not a shell or an Operating System. You will not be able to run a shell inside Vim or use it to control a debugger. This should work the other way around: Use Vim as a component from a shell or in an IDE. A satirical way to say this: "Unlike Emacs, Vim does not attempt to include everything but the kitchen sink, but some people say that you can clean one with it. ;-)" To use Vim with gdb see: http://www.agide.org and http://clewn.sf.net. - Vim is not a fancy GUI editor that tries to look nice at the cost of being less consistent over all platforms. But functional GUI features are welcomed. ●
  • 15. What's “the text editor”? ● Current text editors are like IDE. – Syntax check, Plugin manager, Auto completion, Asynchronous processes ● Vim is not the exception. – Scripting, QuickFix, Builtin completions, Tab, Preview window ● The definition of “the text editors” can be change. ● I think current editors are “configurable/pluggable/lite IDE” instead of traditional editors(example: vi, nano).
  • 16. Vim-jp and neovim ● http://vim-jp.org/ ● Vim-jp is original Vim community in Japan. ● It combines Vim users and Vim plugin develpers and Vim develpers. ● github issues development. ● Patch review in github. ● High skilled Vim(C) Develpers. ● I think it is similar to neovim. ● It is modern and traditional hybrid. ● I think Vim-jp develpers can support neovim.
  • 17. Future next ● neovim Lua client(if_lua) is under development. https://github.com/neovim/lua-client ● Neovim will release beta version in December.... ● I think neovim limit time is until Vim 8.0(2015 summer?)
  • 18. Conclusion ● Do you look forward to neovim? ● Then, you should support neovim. ● Magic power is nothing in open source world. ● Neovim is not vaperware. But it is in just start line. It is not easy to continue the project like Vim. ● My hope is coexistense with light Vimmers and dark Vimmers instead of exclusion.
  • 19. Finally... ● I created new parody song for Vim conference 2014. ● The song name is “Neo Edit it all”. ● It is about “neovim”. ● Unfortunatelly, it is Japanese song. ● Are you ready? ● NNoottee:: UUSSTT iiss nnoott aavvaaiillaabbllee..