📰 What's new?
12.x
Markdown Extra: headlines.nvim has been removed in favor of markdown.nvim to spice up your markdown files.
nvim-spectre has been removed in favor of grug-far.nvim. grug-far.nvim has a great UI and feels more intuitive to use.
This news is now also available on the website at https://www.lazyvim.org/news
prettier extra now works for all prettier supported filetypes and will be enabled for astro/svelte extra if you have a proper config file with the correct prettier plugin
New Language Support: SQL, Clojure, Thrift, Elm, Gleam, Angular, NuShell, Svelte, Kotlin, Astro, Toml and PHP
New Extras:
copilot-chat
,git
,octo
,inc-rename
andneogen
The typescript extra now uses
vtsls
instead oftsserver
Neovim >= 0.10 now uses the much faster lazydev.nvim instead of
neodev.nvim
moved
neoconf.nvim
to extras. Project specific LSP settings can be done with a.lazy.lua
file instead.
11.x
Keymaps:
<leader>gB
to open the current repo in the browsergco
andgcO
to add a comment below or above the current line<leader>wm
to toggle window maximize
lazydev.nvim: faster alternative to
neodev.nvim
Options: Added
linebreak=true
to default options.mini.ai
is back as a default plugin! Removing it was a mistake. It's a great plugin that enhances the native text objects.:LazyExtras
now has multiple new sections:- Enabled: extras that are currently enabled
- Recommended Languages: language extras recommended for the current buffer / directory
- Recommended Plugins: extras that are recommended for most users
- Plugins: other plugin extras
- Languages: other language extras
new option
vim.g.deprecation_warnings
to disable deprecation warnings Defaults tofalse
. To enable deprecation warnings, set it totrue
in youroptions.lua
vim-illuminate
move to extras Document highlights now use native lsp functionality by default
Since Neovim 0.10 has been released, I've been working on a new version of LazyVim that is fully compatible with all the latest Neovim features.
Additionally, some core plugins have been moved to extras.
native snippets
are now the default on Neovim 0.10 Older versions of Neovim will use the newluasnip
extra.native comments
are now the default on Neovim 0.10 Older versions of Neovim will use the newmini-comment
extra.nvim-ts-context-commentstring
has been integrated in the native comments.inlay hints
have been in LazyVim for a while, but are now enabled by default. To disable them:{
"nvim-lspconfig",
opts = {
inlay_hints = { enabled = false },
}
}plugins moved to extras:
mini.surround
mini.indentscope
scopes are now also highlighted withindent-blankline
nvim-treesitter-context
10.x
added new extra for mini.diff This is a plugin similar to gitsigns but with a neat diff overlay that can be toggled with
<leader>go
.trouble.nvim has been rewritten from scratch and is now in beta. I've added a new extra for it (
trouble-v3
) for those of you who want to try it out. You can find the updated docs hereThe lazygit integration now configures:
- the theme based on the colorscheme
- nerd font icons (v3)
- editor preset is set to
nvim-remote
for better interop with Neovim
The option
vim.g.lazygit_theme
was renamed tovim.g.lazygit_config
lazygit now automatically uses the colors of your current colorscheme. This is enabled by default. To disable, add the below to your
options.lua
:vim.g.lazygit_config = false
Added support for
basedpyright
to the python extra. Enable in youroptions.lua
with:vim.g.lazyvim_python_lsp = "basedpyright"
Be aware that
basedpyright
is still in development and may not work exactly the same aspyright
.User extras under
lua/plugins/extras
can now also be managed with LazyExtrasnvim-ts-autotag
is now included by defaultnvim-treesitter-context
is now included by defaultAdded extra for
symbols-outline.nvim
Added extra for
aerial.nvim
nvim-navic
has been removed. If you want to keep usingnvim-navic
, you can enable the editor.navic extraNew
:LazyExtras
command for managing LazyVim extrasImproved formatting:
LazyVim can now work with multiple formatters. Types:
- primary: only one primary formatter can be active at a time. (conform, none-ls, LSP)
- secondary: multiple secondary formatters can be active (eslint, ...)
LazyVim automatically selects the primary formatter based on the current available sources and priorities.
New
:LazyFormat
command for formatting the current selection or bufferNew
:LazyFormatInfo
command for displaying the active formatters for the current bufferAuto-formatting can be disabled with:
vim.g.autoformat = false -- globally
vim.b.autoformat = false -- buffer-local
none-ls.nvim
is no longer installed by defaultconform.nvim
is now the default formatternvim-lint
is now the default linter- If you want to keep using
none-ls.nvim
, you can enable the lsp.none-ls extra
dashboard.nvim
is the new default dashboard plugin- If you want to keep using
alpha.nvim
, you can enable the ui.alpha extra
- If you want to keep using
Improved root detection:
New
:LazyRoot
command that shows info about the root dir detectionConfigurable with
vim.g.root_spec
-- LazyVim root dir detection
-- Each entry can be:
-- * the name of a detector function like `lsp` or `cwd`
-- * a pattern or array of patterns like `.git` or `lua`.
-- * a function with signature `function(buf) -> string|string[]`
vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- To disable root detection set to just "cwd"
vim.g.root_spec = { "cwd" }