SlideShare a Scribd company logo
1 of 19
Download to read offline
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

What's hot

artificial passenger.ppt
artificial passenger.pptartificial passenger.ppt
artificial passenger.pptMuhammedsahil23
 
Chernobyl disaster
Chernobyl disasterChernobyl disaster
Chernobyl disasterlalitmali8
 
METAL NANOPARTICLES
METAL NANOPARTICLESMETAL NANOPARTICLES
METAL NANOPARTICLESDivya Pushp
 
Nano-technology Seminar
Nano-technology SeminarNano-technology Seminar
Nano-technology SeminarhanugoudaPatil
 
Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...
Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...
Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...IIJSRJournal
 
Synthesis of nanoparticles physical, chemical and biological means
Synthesis of nanoparticles   physical, chemical and biological meansSynthesis of nanoparticles   physical, chemical and biological means
Synthesis of nanoparticles physical, chemical and biological meansPRIYABHATT26
 
Artificial Passenger Sulbha
Artificial Passenger   SulbhaArtificial Passenger   Sulbha
Artificial Passenger SulbhaSulbha Bakshi
 
Solutions for ADAS and AI data engineering using OpenPOWER/POWER systems
Solutions for ADAS and AI data engineering using OpenPOWER/POWER systemsSolutions for ADAS and AI data engineering using OpenPOWER/POWER systems
Solutions for ADAS and AI data engineering using OpenPOWER/POWER systemsGanesan Narayanasamy
 
Speed Detecting Camera by Kandarp Tiwari
Speed Detecting Camera by Kandarp TiwariSpeed Detecting Camera by Kandarp Tiwari
Speed Detecting Camera by Kandarp TiwariKandarp Tiwari
 
Final Project presentation on Image processing based intelligent traffic cont...
Final Project presentation on Image processing based intelligent traffic cont...Final Project presentation on Image processing based intelligent traffic cont...
Final Project presentation on Image processing based intelligent traffic cont...Louise Antonio
 
Presentation MSc Project
Presentation MSc ProjectPresentation MSc Project
Presentation MSc Projectscottlass
 
Semiconductor Nanomaterials
Semiconductor NanomaterialsSemiconductor Nanomaterials
Semiconductor NanomaterialsSantanu Paria
 
IoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEM
IoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEMIoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEM
IoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEMjohn solomon j
 
Nanotechnology in treatment of cancer
Nanotechnology in treatment of cancerNanotechnology in treatment of cancer
Nanotechnology in treatment of cancerRAJASEKHARREDDY POLAM
 

What's hot (19)

artificial passenger.ppt
artificial passenger.pptartificial passenger.ppt
artificial passenger.ppt
 
Chernobyl disaster
Chernobyl disasterChernobyl disaster
Chernobyl disaster
 
METAL NANOPARTICLES
METAL NANOPARTICLESMETAL NANOPARTICLES
METAL NANOPARTICLES
 
Nanomedicine
NanomedicineNanomedicine
Nanomedicine
 
Nano-technology Seminar
Nano-technology SeminarNano-technology Seminar
Nano-technology Seminar
 
Ppt of nanocomputing
Ppt of nanocomputingPpt of nanocomputing
Ppt of nanocomputing
 
Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...
Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...
Plant Mediated Synthesis of ZnO and Mn Doped ZnO Nanoparticles Using Carica P...
 
Synthesis of nanoparticles physical, chemical and biological means
Synthesis of nanoparticles   physical, chemical and biological meansSynthesis of nanoparticles   physical, chemical and biological means
Synthesis of nanoparticles physical, chemical and biological means
 
Artificial Passenger Sulbha
Artificial Passenger   SulbhaArtificial Passenger   Sulbha
Artificial Passenger Sulbha
 
Solutions for ADAS and AI data engineering using OpenPOWER/POWER systems
Solutions for ADAS and AI data engineering using OpenPOWER/POWER systemsSolutions for ADAS and AI data engineering using OpenPOWER/POWER systems
Solutions for ADAS and AI data engineering using OpenPOWER/POWER systems
 
Speed Detecting Camera by Kandarp Tiwari
Speed Detecting Camera by Kandarp TiwariSpeed Detecting Camera by Kandarp Tiwari
Speed Detecting Camera by Kandarp Tiwari
 
Final Project presentation on Image processing based intelligent traffic cont...
Final Project presentation on Image processing based intelligent traffic cont...Final Project presentation on Image processing based intelligent traffic cont...
Final Project presentation on Image processing based intelligent traffic cont...
 
Presentation MSc Project
Presentation MSc ProjectPresentation MSc Project
Presentation MSc Project
 
DIAMOND CHIP
DIAMOND CHIPDIAMOND CHIP
DIAMOND CHIP
 
carbon nanotubes
 carbon nanotubes   carbon nanotubes
carbon nanotubes
 
Semiconductor Nanomaterials
Semiconductor NanomaterialsSemiconductor Nanomaterials
Semiconductor Nanomaterials
 
IoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEM
IoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEMIoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEM
IoT BASED VEHICLE TRACKING AND TRAFFIC SURVIELLENCE SYSTEM
 
Nanotechnology in treatment of cancer
Nanotechnology in treatment of cancerNanotechnology in treatment of cancer
Nanotechnology in treatment of cancer
 
NANO TECHNOLOGY
NANO TECHNOLOGYNANO TECHNOLOGY
NANO TECHNOLOGY
 

Viewers also liked

Using xvim with macvim
Using xvim with macvimUsing xvim with macvim
Using xvim with macvimpebble8888
 
VimConf 2014 from deris0126
VimConf 2014 from deris0126VimConf 2014 from deris0126
VimConf 2014 from deris0126deris0126
 
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014cohama
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014Sugoi Kanari
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけShougo
 
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimdeoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimShougo
 
neovim = VM
neovim = VMneovim = VM
neovim = VMShougo
 
暗黒美夢王とEmacs
暗黒美夢王とEmacs暗黒美夢王とEmacs
暗黒美夢王とEmacsShougo
 
An introduction to neocomplete
An introduction to neocompleteAn introduction to neocomplete
An introduction to neocompleteShougo
 
カードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタカードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタShougo
 
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜Shougo
 
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017Shougo
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacsShougo
 

Viewers also liked (13)

Using xvim with macvim
Using xvim with macvimUsing xvim with macvim
Using xvim with macvim
 
VimConf 2014 from deris0126
VimConf 2014 from deris0126VimConf 2014 from deris0126
VimConf 2014 from deris0126
 
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけ
 
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovimdeoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovim
 
neovim = VM
neovim = VMneovim = VM
neovim = VM
 
暗黒美夢王とEmacs
暗黒美夢王とEmacs暗黒美夢王とEmacs
暗黒美夢王とEmacs
 
An introduction to neocomplete
An introduction to neocompleteAn introduction to neocomplete
An introduction to neocomplete
 
カードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタカードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタ
 
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
 
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017Neosnippet.vim + Deoppet.nvim in Vim conf 2017
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
 

Similar to Let's talk about neovim

Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0k-takata
 
How to write patches for Vim
How to write patches for VimHow to write patches for Vim
How to write patches for Vimk-takata
 
Useful Vim Plugins
Useful Vim PluginsUseful Vim Plugins
Useful Vim Pluginsanveo
 
How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?Vivek Parihar
 
Vim conf2019
Vim conf2019Vim conf2019
Vim conf2019Shougo
 
VN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot TutorialVN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot TutorialShuhei Yamashita
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackAntonio García-Domínguez
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bspNeil Armstrong
 
Let's use AppVeyor
Let's use AppVeyorLet's use AppVeyor
Let's use AppVeyork-takata
 
TechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdf
TechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdfTechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdf
TechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdfxiso
 
ELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bspELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bspNeil Armstrong
 
Pentester++
Pentester++Pentester++
Pentester++CTruncer
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talkTiago Ameller
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSSKirk Kimmel
 
LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101Linaro
 
Mozilla Shumway - opensource meetup budapest
Mozilla Shumway - opensource meetup budapestMozilla Shumway - opensource meetup budapest
Mozilla Shumway - opensource meetup budapestRobert Szaloki
 

Similar to Let's talk about neovim (20)

Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0
 
Vim and Python
Vim and PythonVim and Python
Vim and Python
 
How to write patches for Vim
How to write patches for VimHow to write patches for Vim
How to write patches for Vim
 
Useful Vim Plugins
Useful Vim PluginsUseful Vim Plugins
Useful Vim Plugins
 
How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?How fast can you onboard a new team member with VAGRANT ?
How fast can you onboard a new team member with VAGRANT ?
 
2 b 2-hatta
2 b 2-hatta2 b 2-hatta
2 b 2-hatta
 
Vim conf2019
Vim conf2019Vim conf2019
Vim conf2019
 
VN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot TutorialVN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot Tutorial
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedback
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bsp
 
Let's use AppVeyor
Let's use AppVeyorLet's use AppVeyor
Let's use AppVeyor
 
TechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdf
TechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdfTechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdf
TechTalk5-WhatDoesItTakeToRunLLVMBuildbots.pdf
 
ELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bspELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bsp
 
Pentester++
Pentester++Pentester++
Pentester++
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
Headless Android
Headless AndroidHeadless Android
Headless Android
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSS
 
LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101
 
Mozilla Shumway - opensource meetup budapest
Mozilla Shumway - opensource meetup budapestMozilla Shumway - opensource meetup budapest
Mozilla Shumway - opensource meetup budapest
 

Recently uploaded

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 

Recently uploaded (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

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..