Несмотря на то, что NeoVim позиционируется как маленький и быстрый редактор, всё равно после добавления N плагинов на больших файлах или проектах появляются тормоза.
У меня два примера из практики:
- telescope и rg тормозили на Go проекте с большим vendor-ом
- treesitter медленно красит большие файлы
Проблему с rg получилось решить правильно настройкой
.rgignore. И дело было, по сути, не в неовиме. https://biozz.dev/blog/neovim-telescope-lag/А со второй я сталкиваюсь реже, но сейчас есть плагины, которые вырубают часть фичей, если файл большой:
- https://github.com/LunarVim/bigfile.nvim
- https://github.com/pteroctopus/faster.nvim
Или можно написать свою автокоманду, которая делает тоже самое:
local function disable_some_features()
vim.cmd('TSBufDisable highlight')
vim.opt.foldmethod = 'manual'
vim.cmd('syntax off')
vim.cmd('filetype off')
vim.opt.undofile = false
vim.opt.swapfile = false
vim.opt.loadplugins = false
end
vim.api.nvim_create_autocmd({"BufReadPre", "FileReadPre"}, {
pattern = "*",
callback = function()
local file_size = vim.fn.getfsize(vim.fn.expand("%"))
if file_size > 512 * 1024 then
disable_some_features()
end
end
})
Или вообще запускать NeoVim без плагинов, но я всегда забываю про это —
nvim --clean.