mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-02-07 09:18:59 +00:00
2.2 KiB
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 thelua-stdlib
in Neovim help system -
comprehensive examples include Neovim plugins that are already written in Lua
- paq-nvim is a simple Neovim package manager
- packer.nvim is a more comprehensive package manager
- LuaSnip is a snippet engine
- telescope.nvim is a fuzzy finder integrated inside Neovim
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
versusvim.opt.number, vim.opt.relativenumber = true, true
- highlight options are mostly in
vim.highlight
— e.g.,highlight clear SpellCap
versusvim.highlight
- to set local options, use
vim.opt_local
— e.g.,setlocal spell
versusvim.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, seelua-vim-variables
help section vim.opt
will return an Option object, it has a common API; to learn more about it, seevim.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