All about Neovim with Lua - How to Customize from Zero
All about Neovim with Lua - How to Customize from Zero
A lot of people have been asking about customizing Neovim from scratch, so from this article we’re going to start a series of five articles to share with you everything I learned about Neovim .
To follow this series, I think it would be very important for you to have a basic knowledge of Vim, Neovim and Lua . I suggest the links below:
- 100 Tips for the VIM Editor
- Definitive Guide to Lua for Beginners
- How to Customize Your VIM From Zero to C/C++
- Customize your NEOVIM with LUA Programming Language
- VIM vs NEOVIM
- 8 Interesting Tips for Your Vim
Why are many people switching to Neovim?
Neovim solved a Vim “slowness” issue regarding the use of plugins . And the main reason for this was to deliver to the Lua programming language all: calculations, filtering, checks and others, because Vimscript is not a very fast language, because it, until then, was made without optimizations just to run basic tasks.
But things grew and there came a point that she became a “stone in the shoe” of Vim . Soon, Neovim appeared in order to solve this problem. In other words, in order not to “reinvent the wheel” and have to change the entire Vimscript (which would be a lot of work) a language was adopted that already has all the necessary optimizations, which is the Lua programming language.
If you want more details about this I suggest this talk by Justin M. Keyes (current Neovim Leader and Maintainer) which was given at VimConf of 2019.
How does Lua manage to modify the editor’s settings?
Vim has several API’s that serve the same purpose and they were expanded by Neovim programmers in order to make data manipulation by Lua even easier. We’ll see more details, from scratch, on how this happens in the next article. But after the tests, the benchmarks and the use itself, it was noticed a MUCH difference in terms of speed.
What are we going to do for sure with this series?
We are going to customize DO ZERO all our Neovim in an original way without using a distro. Using the best plugins for different situations and creating our own code for particular situations, hence the need to have a basic knowledge of Lua .
Comments