@ -7,64 +7,6 @@
- [🇯🇵 Japanese version ](https://github.com/willelz/nvim-lua-guide-ja/blob/master/README.ja.md )
- [🇷🇺 Russian version ](https://github.com/kuator/nvim-lua-guide-ru )
## Table of Contents
* [Introduction ](#introduction )
* [Learning Lua ](#learning-lua )
* [Existing tutorials for writing Lua in Neovim ](#existing-tutorials-for-writing-lua-in-neovim )
* [Companion plugins ](#companion-plugins )
* [Where to put Lua files ](#where-to-put-lua-files )
* [init.lua ](#initlua )
* [Other Lua files ](#other-lua-files )
* [Caveats ](#caveats )
* [Tips ](#tips )
* [Using Lua from Vimscript ](#using-lua-from-vimscript )
* [:lua ](#lua )
* [:luado ](#luado )
* [:luafile ](#luafile )
* [luafile vs require(): ](#luafile-vs-require )
* [luaeval() ](#luaeval )
* [v:lua ](#vlua )
* [Caveats ](#caveats-1 )
* [Tips ](#tips-1 )
* [The vim namespace ](#the-vim-namespace )
* [Tips ](#tips-2 )
* [Using Vimscript from Lua ](#using-vimscript-from-lua )
* [vim.api.nvim_eval() ](#vimapinvim_eval )
* [Caveats ](#caveats-2 )
* [vim.api.nvim_exec() ](#vimapinvim_exec )
* [vim.api.nvim_command() ](#vimapinvim_command )
* [Tips ](#tips-3 )
* [vim.api.nvim_replace_termcodes() ](#vimapinvim_replace_termcodes )
* [Managing vim options ](#managing-vim-options )
* [Using api functions ](#using-api-functions )
* [Using meta-accessors ](#using-meta-accessors )
* [Caveats ](#caveats-3 )
* [Managing vim internal variables ](#managing-vim-internal-variables )
* [Using api functions ](#using-api-functions-1 )
* [Using meta-accessors ](#using-meta-accessors-1 )
* [Caveats ](#caveats-4 )
* [Calling Vimscript functions ](#calling-vimscript-functions )
* [vim.fn.{function}() ](#vimfnfunction )
* [Tips ](#tips-4 )
* [Caveats ](#caveats-5 )
* [Defining mappings ](#defining-mappings )
* [Defining user commands ](#defining-user-commands )
* [Defining autocommands ](#defining-autocommands )
* [Defining syntax/highlights ](#defining-syntaxhighlights )
* [General tips and recommendations ](#general-tips-and-recommendations )
* [Setting up linters/language servers ](#setting-up-linterslanguage-servers )
* [luacheck ](#luacheck )
* [sumneko/lua-language-server ](#sumnekolua-language-server )
* [coc.nvim ](#cocnvim )
* [Miscellaneous ](#miscellaneous )
* [vim.loop ](#vimloop )
* [vim.lsp ](#vimlsp )
* [vim.treesitter ](#vimtreesitter )
* [Transpilers ](#transpilers )
Created by [gh-md-toc ](https://github.com/ekalinin/github-markdown-toc )
## Introduction
The [integration of Lua ](https://www.youtube.com/watch?v=IP3J56sKtn0 ) as a [first-class language inside Neovim ](https://github.com/neovim/neovim/wiki/FAQ#why-embed-lua-instead-of-x ) is shaping up to be one of its killer features.