Neovimの設定をKickstartではじめよう
Neovimをちゃんと使えるようにする。第2回
Neovimをインストールできたら設定を書いていったりプラグインをついかしたりします。ただし問題としてその設定が初めてだと結構だるい。そして難しかったりする。そこで一から設定ファイルを書くのではなくすでにある程度作られているのを借ります。
Neovimのディストリビューションというようなかなり作り込まれたものが存在しておりそれを使う手もあります。ただそれだと自分の思い通りにならなかったりするというのとある程度自分で設定を作れるようになっておきたいということでKickstartを使います。
Kickstartとは?
kickstart.nvimというのは↑のReadmeを読んだもらえばわかるようにneovimの設定が最低限作られているものです。これを自分なりに編集していくことで自分好みのNeovimを作ることが最終目標でありKickstartは出発点です。簡単なテンプレートみたいなものですね。ディストリビューションほどしっかり作り込まれていると自分の好みにしにくいけど一から全部つくるのは大変、という今回の例にぴったりですね。
Neovimの設定ファイルについて
それではKickstartのインストール、の前にNeovimの設定ファイルについてです。neovimでは設定を.luaというファイルで記述します。luaは代表的なスクリプト言語です。Linuxであれば~/.config/nvim
以下にいろいろなluaファイル等を追加していくことで設定を追加・編集していきます。~/.config/nvim
がなければ今つくりましょう。init.luaが一番メインの設定ファイルとなります。このファイルがneovim実行時読み込まれています。
なおluaではなく.vimを使う方法もありますが現在の推奨も、時流もluaなのでこのシリーズではluaでしか行いません。
install Kickstart
ではKickstartをインストールしましょう。ただし以下ではKickstartではなくそのフォークのKickstart -moduler.nvimをインストールします。
Kickstartよりも設定ファイルの分割などが最初からされていたりとやりやすかったためです。
git clone https://github.com/dam9000/kickstart-modular.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
↑で/nvim
にkickstart-modulerがダウンロードされます。これで設定と複数のプラグインが導入されました。
とりあえずnvimで起動してみましょう。
↑いろいろやってるーみたいな画面の後、放置しているとこんな感じの画面になっていればKickstart-modulerがインストールできています。いままでと全く変わっていないただの黒画面であれば何かうまくいっていません。nvim直下にファイルが展開されているかなどを確認しましょう。
lazy プラグインマネージャー
nvimを起動して色々やっていたのがlazyです。kickstartに含まれるプラグインの一つです。
lazyはneovimのプラグイン管理を行っておりプラグインマネージャーのなかでは2024/11現在では一番人気な気がします。lazuの画面ではインストールされているプラグインを確認したりアップデートをしたりできます。この画面は:Lazy
でも開けます。またこの後の設定ファイルでプラグイン名を書くことでインストールをしてくれたりします。
プラグイン管理は基本lazyを通して行います。インストールやプラグイン設定などですね。
設定の分割
init.luaに全部設定を記述しても動作しますが設定が増えていくとわかりにくくなっていきます。特にプラグインを増やしたり減らしたりが非常にだるい。そこで設定ファイルを分割します。
具体的には次の様なディレクトリ構成にしていきます。いぜれのファイルもある程度の設定がすでにされている状態です。
── init.lua :設定ファイルの読み込み
└── lua 設定ファイルのディレクトリ
├── keymaps.lua :キーマップ設定
├── kickstart :kickartがデフォルトで入れているプラグイン等
│ ├── health.lua
│ └── plugins
│ ├── autopairs.lua
│ ├── cmp.lua
│ ├── conform.lua
|
├── lazy-bootstrap.lua :lazyを読み込む為のlua
├── lazy-plugins.lua :各種プラグインを読み込む
├── options.lua :環境などの設定ファイル
└── plugins : 各種プラグインファイルのディレクトリ
├── gitsigns.lua
├── neo-tree.lua
init.lua
init.luaは複数の設定ファイルを読み込むことだけの機能にしています。Kickstart moduleでは設定を4つのファイルにわけておりそれらを読み込むのがこのinit.luaの役割です。ほとんど編集しません。
lazy-bootstrap.lua
lazyを読み込むためのファイルです。lazyで他のプラグインを読み込むのでlazyだけは先に読み込んでおく必要があるわけですね。これもほとんど編集しません。
lazy-plugins.lua
lazuでプラグインファイルを読み込むためのファイルです。プラグインの設定等はプラグインそれぞれのファイルでやるのでここでは読み込むファイルの指定だけです。
options.lua
行番号の表示やスワップファイルの作成の有無などいわゆる環境設定みたいなのをここに書き込みます。プラグインとこのoptions.luaを分けるのが設定ファイルを分割する一番の目的かもしれません。
keymaps.lua
名前の通りキーマップ設定です。
次回予告
kickstartの構成は大まかにこんな感じです。kickstart-moduleはこの設定の分割がすでにされているのでわかりやすかったです。
次はプラグインの導入を行っていきます。Neovimの界隈はプラグインが活発に作られており複数入れるだけでもかなり使いやすく楽しくなります。