🔌

lazyvim のプラグインイン管理

2024/11/06に公開
2

前回の記事
https://zenn.dev/tositada/articles/b9190cce45812f

個人的にどうやってlazyvimを使用するか、どうやってカスタマイズするかまとめた記事になります。
おすすめの設定、おすすめのプラグインについては記載しません
自分が理解した内容が後から追加される場合があります。

実行環境

windows 11
powershell

この記事の対象

lazyvimを初めて使う人

設定ファイルの実行方法

今回使うコマンドについて最初に記載しておきます。

実行方法には2つあります。

  1. nvimのコンソールからluafileコマンドを実行
  2. C:\Users\user\AppData\Local\nvim\init.lua をに設定ファイルを記入してnvimを開く。

使用するコマンド

vimの設定とカスタマイズは、vimscriptで行いますが
neovimはluaでも設定できます。
基本的にはluaを使用すると思います。
結局このコマンド今回の範囲では使用しないです。

luaの実行方法

vimのnormalモードでコマンドを実行します。

:luafile ~/Desktop/test.lua

vimの環境で現在開いているファイルを実行するには %で指定します。

:luafile %

vimscriptの実行方法

vimのnormalモードでコマンドを実行します。

:source ~/xxx/xxxx.vim

vimの環境で現在開いているファイルを実行するには %で指定します。

:source %

nvimの設定パス

C:\Users\user\AppData\Local\nvim\ :
windowsではnvimの設定ファイルの保存先になります。以降nvim\と記載します
C:\Users\user\AppData\Local\nvim-data\ :
windowsでのnvimのプラグインの保存先になります。以降nvim-data\と記載します


C:\Users\user\AppData\Local\> tree

├── nvim
│   ├── lua
│   │   ├── config
│   │   │   ├── autocmds.lua
│   │   │   ├── keymaps.lua
│   │   │   ├── lazy.lua
│   │   │   └── options.lua
│   │   └── plugins
│   │       └── example.lua
│   └── init.lua
├── nvim-data
│   ├── lazyvim
│   ├── undo

  • /nvim/int.lua nvimは最初にこのファイルを読み込みます。
    • /nvim/lua/config/lazy.lua lazyvimを起動します。
    • /nvim/lua/config/keymap.lua キーマップをカスタマイズする際に使用します。
    • /nvim/lua/config/autocmd.lua オートコマンドをカスタマイズする際に使用します。
    • /nvim/lua/config/option.lua neovimのオプションを設定する際に使用します。
  • /nvim/lua/plugins このフォルダーには新しいプラグインを追加したり組み込みのプラグインを設定します。neovimを開いたときにこのフォルダーがロードされます。

plugin

Lazyvimはすべてのプラグインをlazy.nvimで管理します。
lazy.nvimはプラグインとluaモジュールを遅延読み込み(必要な時に読み込み)できる機能を持ちます。
events、configure、filetyes、keymap,によってプラグインを読み込むかどうか設定できます。
次のいずれかの条件を満たすとlazyvimはプラグインを遅延ロードします。

  • プラグインがspecに依存関係として使用される
  • event,cmd,ft,keys のいづれかを持つ
  • config.defaults.lazy == true

Lazy.nvimでのプラグインの管理

lazyvimがプラグインを導入するにはspecにプラグインの設定を宣言することで構成できます。
pluginをrequireで呼び出すのではなく、setup 関数に構造体を宣言することで、使用するときだけプラグインを読み込みます。

lazyvim プラグインの管理方法

lazyvimのプラグインのインストール方法は2種類あります。

  • lazy.lua ファイルのspecに記載する方法
  • /nvim/lua/plugins/フォルダー以下に追記する方法

1.lazy.lua ファイルのspecに記載してプラグインの導入

/nvim/lua/config/lazy.lua を開きrequire(”lazy”).setupのspecの項目にlazyvim.plugins.extras.ui.mini-animate を記入してnvimを開いてみよう

pluginのインストール後vimの操作にアニメーションがついたことに気づくと思います。

 /nvim/lua/config/lazy.lua
 
 require("lazy").setup({
  spec = {
    -- add LazyVim and import its plugins
    { "LazyVim/LazyVim", import = "lazyvim.plugins" },
    -- import/override with your plugins
    { import = "plugins" },
    { import = "lazyvim.plugins.extras.ui.mini-animate" },
  } 

2./nvim/lua/plugins/フォルダー以下に新規ファイルを作成してプラグインの導入

nvim/lua/plugins/フォルダーの下にcopiot.lua を作成して以下の内容を書いてみよう。
nvim/lua/plugins/copiot.lua
returnからはじまってますが、specの構造体を記載します。
とりあえず目的もないけどgithubのcopilotを入れてみる。

return {
  "zbirenbaum/copilot.lua",
}

Discussion

hokupodhokupod

べりーさんの前回の記事へのリンクがおかしくなっておりますので、お手数おかけいたしますが、ご確認いただけますと幸いです。

tositadatositada

べりーさんの前回の記事へのリンクがおかしくなっておりますので、お手数おかけいたしますが、ご確認いただけますと幸いです。

修正しました。