SlideShare a Scribd company logo
1 of 27
Download to read offline
Differences
between Nvim and
Vim8
full version
Shougo
2
Profile
●
It is really needed?
●
Shougo
●
The dark powered Vim 暗黒美無王
●
Uncock Vim Awe, The dark Vim maestro
●
Vimrc 500 lines + toml configuration
●
90 plugins
3
Background
●
Nvim(neovim) is used for 30%~40% of
Vimmers in 2017 VimConf.
●
But why are you use Vim8 or neovim?
●
"Vim8 has almost same APIs. So, Nvim is
deprecated."
Really???
4
Do you know Nvim advantages
and disadvantages?
●
I can explain them to you!
●
Because I am the contributor of Vim and Nvim.
5
Note
●
O: Nvim is better
●
X: Vim is better
●
?: It depends on your usage
6
?: Nvim is not BDFL project
●
Nvim has many contributors
●
Vim is commited by Bram
7
?: Nvim use funding for full
time development
●
https://salt.bountysource.com/teams/neovim
●
Some people partly works for Nvim in weeks.
●
Vim recommends to donate to Uganda. But it
is not used for full time development
●
:help donate
8
O: Nvim supports XDG
defaults
●
Nvim uses
$XDG_CONFIG_HOME/nvim/init.vim instead of
~/.vim/vimrc
●
Nvim uses $XDG_CONFIG_HOME/nvim
instead of ~/.vim
9
O: Nvim defaults
●
Nvim always nocompatible mode
●
Nvim does not uses defaults.vim
●
Syntax, indent and filetype plugins are enabled
in default
●
Many options are enabled in default.
●
:help nvim-defaults in Nvim
10
?: Nvim removes some
features
●
Crypto(help encrytion in Vim8)
●
:smile command
●
:help nvim-features-removed in Nvim
11
O: Nvim uses shada instead of
viminfo
●
It is MessagePack binary format
●
:help shada in Nvim
12
O: Nvim implements original
APIs
●
nvim prefixed nvim_xxx APIs
●
nvim_parse_expression() - Parse a Vim
Script expression
●
:help api in Nvim
13
O: Nvim implements
inccommand option
●
It is live preview feature when substitute
●
[Demo]
14
O: Nvim implements built-in
LSP supports(WIP)
●
You don't need to install external LSP plugins.
https://github.com/neovim/neovim/pull/6856
●
Deoplete-lsp uses it
https://github.com/Shougo/deoplete-lsp
●
[Demo]
15
?: Nvim re-implements GUI
and Windows supports
●
It is not stable like GVim, but many GUIs are
already available
●
Nvim-qt
https://github.com/equalsraf/neovim-qt
●
Gonvim
https://github.com/akiyosi/gonvim
[Demo]?
16
?: Nvim re-implements TUI
●
“term.c” is removed
●
t_xxx variables are removed
●
If Nvim works, but Vim8 may not work properly
in terminal
●
If Vim8 works, but Nvim may not work properly
in terminal
17
X: Nvim re-implements
external interfaces
●
if_python, if_ruby
●
And it is slow than Vim8...
18
O: Nvim remote plugins
●
You can use many Languages than Vim8 to
create Nvim plugins
https://github.com/neovim/neovim/wiki/Related-p
rojects#api-clients
●
Many client are available!
19
O: Nvim includes Lua
●
You can use Lua in Nvim!
●
Note: The API is not compatible with if_lua yet.
20
?: Nvim's job and terminal
feature
●
Both are simple version and not compatible
with Vim API.
●
Because, Nvim implements the features before
Vim8.
21
X: Nvim has not included
complete Vim patches
●
Nvim already includes many Vim patches.
●
But it is not completed.
●
You can contribute it!
22
Who should use Nvim?
●
"I like Nvim development style."
●
"I like Nvim original features."
●
"I want to support Nvim development."
●
"I want to create plugins without Vim script."
23
Who should use Vim8?
●
"I like Vim8 development style."
●
"I don't like Nvim incompatibility."
●
"I want to use Vim HEAD features."
24
FAQ: Nvim is faster than Vim8?
●
It depends on your environment and usage.
●
Try it!
25
More?
●
:help vim-differences in Nvim documentation
26
Extra
●
In vimconf 2019, I will talk about the 4th
generation plugins development.
●
1st generation plugins: neocomplcache.vim,
vimshell.vim
●
2nd generation plugins: neocomplete.vim,
unite.vim
●
3rd generation plugins: deoplete.nvim,
denite.nvim
●
4th generation plugins: defx.nvim,
deoppet.nvim
27
Thank you!

More Related Content

More from Shougo

An introduction to neocomplete
An introduction to neocompleteAn introduction to neocomplete
An introduction to neocompleteShougo
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけShougo
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacsShougo
 
Shougoの開発環境
Shougoの開発環境Shougoの開発環境
Shougoの開発環境Shougo
 
Unite vim
Unite vim Unite vim
Unite vim Shougo
 
Vim = VM
Vim = VMVim = VM
Vim = VMShougo
 
modern X86 environment
modern X86 environmentmodern X86 environment
modern X86 environmentShougo
 
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimUltimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimShougo
 

More from Shougo (8)

An introduction to neocomplete
An introduction to neocompleteAn introduction to neocomplete
An introduction to neocomplete
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけ
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
 
Shougoの開発環境
Shougoの開発環境Shougoの開発環境
Shougoの開発環境
 
Unite vim
Unite vim Unite vim
Unite vim
 
Vim = VM
Vim = VMVim = VM
Vim = VM
 
modern X86 environment
modern X86 environmentmodern X86 environment
modern X86 environment
 
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vimUltimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
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.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
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
 
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.
 
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
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
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 ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
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
 
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...
 
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
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 

Differences between Nvim and Vim full version

  • 2. 2 Profile ● It is really needed? ● Shougo ● The dark powered Vim 暗黒美無王 ● Uncock Vim Awe, The dark Vim maestro ● Vimrc 500 lines + toml configuration ● 90 plugins
  • 3. 3 Background ● Nvim(neovim) is used for 30%~40% of Vimmers in 2017 VimConf. ● But why are you use Vim8 or neovim? ● "Vim8 has almost same APIs. So, Nvim is deprecated." Really???
  • 4. 4 Do you know Nvim advantages and disadvantages? ● I can explain them to you! ● Because I am the contributor of Vim and Nvim.
  • 5. 5 Note ● O: Nvim is better ● X: Vim is better ● ?: It depends on your usage
  • 6. 6 ?: Nvim is not BDFL project ● Nvim has many contributors ● Vim is commited by Bram
  • 7. 7 ?: Nvim use funding for full time development ● https://salt.bountysource.com/teams/neovim ● Some people partly works for Nvim in weeks. ● Vim recommends to donate to Uganda. But it is not used for full time development ● :help donate
  • 8. 8 O: Nvim supports XDG defaults ● Nvim uses $XDG_CONFIG_HOME/nvim/init.vim instead of ~/.vim/vimrc ● Nvim uses $XDG_CONFIG_HOME/nvim instead of ~/.vim
  • 9. 9 O: Nvim defaults ● Nvim always nocompatible mode ● Nvim does not uses defaults.vim ● Syntax, indent and filetype plugins are enabled in default ● Many options are enabled in default. ● :help nvim-defaults in Nvim
  • 10. 10 ?: Nvim removes some features ● Crypto(help encrytion in Vim8) ● :smile command ● :help nvim-features-removed in Nvim
  • 11. 11 O: Nvim uses shada instead of viminfo ● It is MessagePack binary format ● :help shada in Nvim
  • 12. 12 O: Nvim implements original APIs ● nvim prefixed nvim_xxx APIs ● nvim_parse_expression() - Parse a Vim Script expression ● :help api in Nvim
  • 13. 13 O: Nvim implements inccommand option ● It is live preview feature when substitute ● [Demo]
  • 14. 14 O: Nvim implements built-in LSP supports(WIP) ● You don't need to install external LSP plugins. https://github.com/neovim/neovim/pull/6856 ● Deoplete-lsp uses it https://github.com/Shougo/deoplete-lsp ● [Demo]
  • 15. 15 ?: Nvim re-implements GUI and Windows supports ● It is not stable like GVim, but many GUIs are already available ● Nvim-qt https://github.com/equalsraf/neovim-qt ● Gonvim https://github.com/akiyosi/gonvim [Demo]?
  • 16. 16 ?: Nvim re-implements TUI ● “term.c” is removed ● t_xxx variables are removed ● If Nvim works, but Vim8 may not work properly in terminal ● If Vim8 works, but Nvim may not work properly in terminal
  • 17. 17 X: Nvim re-implements external interfaces ● if_python, if_ruby ● And it is slow than Vim8...
  • 18. 18 O: Nvim remote plugins ● You can use many Languages than Vim8 to create Nvim plugins https://github.com/neovim/neovim/wiki/Related-p rojects#api-clients ● Many client are available!
  • 19. 19 O: Nvim includes Lua ● You can use Lua in Nvim! ● Note: The API is not compatible with if_lua yet.
  • 20. 20 ?: Nvim's job and terminal feature ● Both are simple version and not compatible with Vim API. ● Because, Nvim implements the features before Vim8.
  • 21. 21 X: Nvim has not included complete Vim patches ● Nvim already includes many Vim patches. ● But it is not completed. ● You can contribute it!
  • 22. 22 Who should use Nvim? ● "I like Nvim development style." ● "I like Nvim original features." ● "I want to support Nvim development." ● "I want to create plugins without Vim script."
  • 23. 23 Who should use Vim8? ● "I like Vim8 development style." ● "I don't like Nvim incompatibility." ● "I want to use Vim HEAD features."
  • 24. 24 FAQ: Nvim is faster than Vim8? ● It depends on your environment and usage. ● Try it!
  • 26. 26 Extra ● In vimconf 2019, I will talk about the 4th generation plugins development. ● 1st generation plugins: neocomplcache.vim, vimshell.vim ● 2nd generation plugins: neocomplete.vim, unite.vim ● 3rd generation plugins: deoplete.nvim, denite.nvim ● 4th generation plugins: defx.nvim, deoppet.nvim