[[lazy.nvim]]でよく使う設定パターンを紹介。主に遅延読み込み。
## 任意のイベントが発生したときに読み込む
[[イベント (Neovim)|イベント]]をトリガーにしたい場合。`event`を設定する。
```lua
{
event = "BufRead",
opts = {},
}
```
> [!attention]
> - **`opts = {...}` を設定しないと**、`keys`のキーを押しても読み込まれない
## 任意のキーが押されたときに読み込む
ホットキーをトリガーにしたい場合。`keys`を設定する。
```lua
{
keys = {
{ "<Space>o", ":Oil<CR>", silent = true }
},
opts = {},
}
```
> [!attention]
> - **`opts = {...}` を設定しないと**、`keys`のキーを押しても読み込まれない
> - `event`もあわせて設定すると、先に条件を満たした方で読み込まれる
## 任意のファイルタイプのファイルが読み込まれたときに読み込む
[[ファイルタイプ (Vim)|ファイルタイプ]]が判定したタイミング。[[FileType (Neovim)|FileType]]と一緒?
```lua
{
ft = { "typescript" },
opts = {},
}
```
## 必要になったタイミングで読み込む
`lazy = true`を記載すると、`require(...)` でプラグインが読み込まれるまで遅延するようになる。誰かに呼ばれるけどタイミングが分からないときに。
```lua
{
lazy = true,
opts = {},
}
```
## プラグインのブランチを指定する
`branch`を指定する。
```lua
{
branch = "main"
}
```
> [🔌 Plugin Spec | lazy.nvim](https://lazy.folke.io/spec#spec-versioning)
## ローカルディレクトリのプラグインを指定する
- [[ローカルディレクトリのプラグインを指定 (lazy.nvim)|ローカルディレクトリのプラグインを指定]]
## プラグインを無効にする
`enabled = false` を指定する。
```lua
{
"tadashi-aikawa/ghostwriter.nvim",
enabled = false,
}
```
[[📕lazy.nvimで読み込むプラグイン設定をファイルに分解]]したときなどに便利。