wiki/notebook/editor.neovim.lua.org
2022-04-20 19:05:37 +08:00

2.2 KiB

Neovim Lua integration

  • with Lua integration, you can create Neovim Lua modules
  • you can start with lua-intro section from Neovim help system; it gives all of the information on the things you need to get started with configuring Neovim with Lua as well as pointers for more things to do with Lua;
  • Neovim also extends the Lua standard library found in vim object; see the lua-stdlib in Neovim help system
  • comprehensive examples include Neovim plugins that are already written in Lua

Setting configuration with Lua

  • you can still execute Vimscript with vim.cmd; more information is at :h lua-vimscript
  • to set options, it's mostly in vim.opt — e.g., set number relativenumber versus vim.opt.number, vim.opt.relativenumber = true, true
  • highlight options are mostly in vim.highlight — e.g., highlight clear SpellCap versus vim.highlight
  • to set local options, use vim.opt_local — e.g., setlocal spell versus vim.opt_local.spell = true
  • otherwise, to set global options, use vim.opt_global
  • you can access environment variables through vim.env — e.g., vim.env.HOME, vim.env.MYVIMRC
  • you can manipulate variables of various scales from vim.{g,b,t}; to see more details, see lua-vim-variables help section
  • vim.opt will return an Option object, it has a common API; to learn more about it, see vim.opt and its subsections
  • to run Vimscript, you can use vim.cmd — e.g., vim.cmd "colorscheme nord"
  • interacting with Neovim API through vim.api