【NeoVim】特定の名前のモジュールが存在していればロードする

概要

NeoVim の設定を Lua で管理しており、ローカルのみに適用したい設定がある。

例えば

など。

実装

そんなときは以下のようにする。

  1. NeoVim の設定は(変更していなければ)~/.config/nvim にあるので、ローカル設定用の local.lua を作成する

    $ mkdir ~/.config/nvim/lua
    $ touch ~/.config/nvim/lua/local.lua

    ↓ の構成になる。

    ~/.config/nvim/
    ├── init.lua
    └── lua
    └── local.lua
  2. local.lua に設定を記載する

  3. init.luapcall関数 を利用して、モジュールを読み込む関数を追記する

    local loadModule = function(module)
    local ok, _ = pcall(require, module)
    if not ok then
    print('unloadable module: '..module)
    end
    end
    loadModule('local')
  4. 設定をリロードする

    :luafile ~/.config/nvim/init.lua

正確には「モジュールが存在していれば」の判定をしていないが、設定としては十分なはず。


以上。

← Blog