This document summarizes a presentation about Neovim given in Japanese. It introduces Neovim as a fork of Vim developed on GitHub with the goal of being a "Modern Vim". Key points are that Neovim refactors the source code, uses asynchronous communication, allows plugins in multiple languages while keeping Vimscript compatibility, and aims to eventually implement GUI features. The presenter expresses support for Neovim due to user excitement around solving Vim problems and competing in a landscape where other editors and IDEs are becoming more full-featured.
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..