プラグインマネージャ、今まではpacker.nvimを使っていたが最近lazy.nvimがいいらしいので移行する。
ちょっといじって見た感じ、packer.nvimよりも使い勝手が良さそう。
個人的にはlazy-lock.json
でプラグインのバージョンの追跡ができるのが好みかも。
とりあえずインストールするべ
インストールする前にpacker.nvim関連のコードを消すなりコメントアウトするなりしておきましょう
init.lua
にこれ貼って
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "--single-branch", "https://github.com/folke/lazy.nvim.git", lazypath, }) end vim.opt.runtimepath:prepend(lazypath)
setup
する
require("lazy").setup({})
インストールはこれだけ。
本格的にpacker.nvimから移行するぞ
試しに一つプラグインをlazy.nvim経由でインストールして遅延読み込みまでしてみる。
何がいいかなーって考えたときにパッと思い浮かんだのが普段使っているファイラプラグインのnvim-tree.lua。
これにしよう。
require("lazy").setup({ { "kyazdani42/nvim-web-devicons", lazy = true -- 起動時には読み込みさせない }, "kyazdani42/nvim-tree.lua", dependencies = { -- nvim-tree.luaをロードするときに -- nvim-web-deviconsもロードする "kyazdani42/nvim-web-devicons" }, cmd = { -- これらのコマンドのいずれかが実行された時点でロードする "NvimTreeOpen", "NvimTreeClose", "NvimTreeToggle", "NvimTreeFocus", -- Other plugin commands... }, keys = { -- keyampを設定した上で、 -- 設定したkeymapに該当するキー入力が実行された時点でロードする -- 設定しているkeymapは↓と同じ -- vim.keymap.set("n", "<C-n>", "<cmd>NvimTreeToggle<cr>", { noremap = true }) { "<C-n>", "<cmd>NvimTreeToggle<cr>", noremap = true, mode = "n", } }, config = function() require("nvim-tree").setup({ -- Some options... }) end, })
これでnvim-tree.lua(+ nvim-web-devicons)を遅延読み込みできるようになった。
他のプラグインも頑張って移すぞ。