The nvim supported lua script since Nvim 0.5. And lua is faster than vimscript. Even so, Neovim is not deprecating Vimscript.
Will Neovim deprecate Vimscript?
No. Lua is built-in, but Vimscript is supported with the most advanced Vimscript engine in the world (featuring an AST-producing parser)).
Why Lua?
Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
returnrequire('packer').startup(function() -- Packer can manage itself use 'wbthomason/packer.nvim' -- Lsp config use { 'williamboman/nvim-lsp-installer', config = function() require('conf.nvim-lsp-installer-conf') end } use 'neovim/nvim-lspconfig' use 'hrsh7th/nvim-cmp' use 'hrsh7th/cmp-nvim-lsp' use 'saadparwaiz1/cmp_luasnip'-- Snippets source for nvim-cmp use 'L3MON4D3/LuaSnip'-- Snippets plugin use 'hrsh7th/cmp-buffer' use 'hrsh7th/cmp-path' use 'hrsh7th/cmp-nvim-lua' -- Markdown Preview use 'iamcco/markdown-preview.nvim'
-- lspsaga beautify the windows of lsp use { 'tami5/lspsaga.nvim', config = function() -- require('conf.lspsaga-conf') require('lspsaga').setup{} end }
-- Dashboard use { 'goolord/alpha-nvim', requires = { 'kyazdani42/nvim-web-devicons' }, config = function() require'alpha'.setup(require'alpha.themes.startify'.config) end }
-- Comment plugin use { 'numToStr/Comment.nvim', config = function() require('Comment').setup{} end }
use {'akinsho/bufferline.nvim', tag = "v2.*", requires = 'kyazdani42/nvim-web-devicons', config = function() require('bufferline').setup{} end }
-- Dirctory Tree use { 'kyazdani42/nvim-tree.lua', requires = { 'kyazdani42/nvim-web-devicons', -- optional, for file icon }, tag = 'nightly', -- optional, updated every week. (see issue #1193) config = function() require('nvim-tree').setup{} end }
returnrequire('packer').startup(function() -- Packer can manage itself use 'wbthomason/packer.nvim' -- a plugin come from Github use 'user/plugin1' -- a plugin come from Github with some configuration use { 'user/plugin2', -- some dependences requires = {...}, -- configuration by anonymous funciton config = function() -- --- code ---- ... end } end)
Now, you can download all plugins that you like. Awesome-Neovim has a lot of awesome plugins.
The global configuration of the editor has been changed in a new way. If you have any unknown config items, you can use :help ... to query, such as :help vim.o.