症状
lazy.nvimでインストールしたプラグインが読み込まれない、または設定が反映されない
結論:まずこれを確認
:Lazyでプラグインの状態を確認(Installed / Not Installed / Error):checkhealth lazyでlazy.nvim自体のエラーを確認- プラグイン定義の
configやoptsの記述ミスを確認
操作フロー
flowchart TD
A[プラグインが動作しない] --> B{:Lazyでステータス確認}
B -->|Not Installed| C[インストール実行]
B -->|Installed| D{:checkhealth lazy}
B -->|Error表示| E[エラーメッセージを確認]
C --> F[:Lazy sync を実行]
D -->|エラーあり| G[設定ファイルを修正]
D -->|エラーなし| H{遅延読み込み設定を確認}
E --> G
H -->|event/cmd/ft設定あり| I[トリガー条件を確認]
H -->|設定なし| J[依存関係を確認]
I --> K[該当操作を実行してみる]
J --> L[dependencies設定を確認]
よくある原因
- プラグインがインストールされていない -
:Lazy syncが実行されていない - 設定ファイルのパスが間違っている -
~/.config/nvim/lua/plugins/配下に配置されていない - 遅延読み込み設定でトリガーされていない -
event,cmd,ftの条件を満たしていない - Lua構文エラー - テーブル定義のカンマ忘れ、括弧の不一致
- 依存プラグインが読み込まれていない -
dependenciesの設定漏れ config関数内でエラー発生 - プラグイン固有の設定ミス- プラグイン名の記述ミス - GitHubリポジトリ名と一致していない
操作手順
ステップ1: lazy.nvimの状態を確認する
Neovimを起動して以下を実行する。
:Lazy
🔍 チェックポイント: プラグイン一覧が表示され、対象プラグインの状態が Installed になっているか確認
状態が Not Installed の場合:
:Lazy sync
ステップ2: エラーの有無を確認する
:checkhealth lazy
🔍 チェックポイント: ERROR や WARNING が表示されていないか確認
エラーがある場合はメッセージ内容をもとに設定ファイルを修正する。
ステップ3: 設定ファイルの構文を確認する
設定ファイルの場所:
~/.config/nvim/init.lua
~/.config/nvim/lua/plugins/*.lua
基本的なプラグイン定義の例:
-- ~/.config/nvim/lua/plugins/example.lua
return {
"author/plugin-name",
event = "VeryLazy", -- 遅延読み込みのトリガー
dependencies = {
"dependency/plugin",
},
config = function()
require("plugin-name").setup({
-- オプション
})
end,
}
🔍 チェックポイント: 以下を確認する
- テーブル末尾のカンマ
- 括弧の対応
- 文字列のクォート
ステップ4: 遅延読み込み設定を確認する
遅延読み込みを設定している場合、トリガー条件を確認する。
| 設定 | 説明 | 例 |
|---|---|---|
event |
イベント発生時に読み込み | "BufReadPre", "VeryLazy" |
cmd |
コマンド実行時に読み込み | "Telescope" |
ft |
ファイルタイプで読み込み | "lua", "python" |
keys |
キーマップ実行時に読み込み | "<leader>ff" |
-- 即座に読み込みたい場合は lazy = false を指定
return {
"author/plugin-name",
lazy = false,
priority = 1000, -- 読み込み順序を指定(数字が大きいほど先)
}
🔍 チェックポイント: lazy = false を一時的に設定して動作するか確認
ステップ5: 依存関係を確認する
依存プラグインがある場合は dependencies に記載する。
return {
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim", -- 必須の依存
"nvim-tree/nvim-web-devicons", -- アイコン表示用
},
}
🔍 チェックポイント: :Lazy で依存プラグインもインストール済みか確認
ステップ6: config関数のエラーを確認する
起動時のエラーメッセージを確認する。
:messages
または、Neovimを以下のように起動してエラーを確認する。
nvim --startuptime startup.log
cat startup.log | grep -i error
🔍 チェックポイント: 特定のプラグイン読み込み時にエラーが発生していないか確認
NG行動(やってはいけないこと)
- エラーを確認せずに設定を変更する - 問題の原因が特定できなくなる
- 複数のプラグインを同時に追加・変更する - どの変更が問題か分からなくなる
~/.local/share/nvim/lazy/を手動で削除する -:Lazy cleanを使用する- 古い packer.nvim の構文をそのまま使う - lazy.nvim は構文が異なる
よくある質問(FAQ)
Q1: :Lazy が動作しない場合は?
A: lazy.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",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
Q2: 特定のプラグインだけ読み込み直したい場合は?
A: :Lazy reload plugin-name を実行する。全体を再読み込みする場合は :Lazy sync。
Q3: プラグインの設定が反映されているか確認するには?
A: 以下のコマンドで読み込み済みプラグインを確認:
:lua print(vim.inspect(require("lazy").plugins()))
関連するトラブル
準備中
解決しない場合
- lazy.nvim 公式ドキュメント: https://github.com/folke/lazy.nvim
:help lazy.nvimでヘルプを参照- 確認すべきログ:
~/.local/state/nvim/lazy/log - 次に調べるキーワード: 「lazy.nvim config not working」「neovim plugin load order」