generated at
NeovimのLuaサポートについて
NeovimLuaファイルを読み込む際の挙動
設定
Neovimは通常のinit.vimの代わりにinit.luaを設定として読み込むことができます

Luaモジュール
Neovimでは runtimepath lua/ ディレクトリにLuaモジュールを配置できます
require() Luaモジュールを読み込めます
require() は、NeovimではなくLuaに組み込まれたモジュール読み込みのための仕組みです。
例えば、 lua/foo.lua require('foo') で読み込めます
特定のディレクトリ内のモジュールを読みたいときは、 . または / 区切りでパスを指定します (例: lua/parent/child.lua require('parent.child') で読み込めます)
ディレクトリにinit.luaが含まれる場合、 require を呼ぶ際にファイル名を省略できます (例: lua/some_module/init.lua require('some_module') で読み込めます)

ランタイムファイル
runtimepath 配下の plugin/ ftplugin/ などのディレクトリに .lua ファイルがある場合、 .vim と同様に自動で読み込まれます
これらのディレクトリに .vim .lua のファイルが両方含まれている場合、 .vim のファイルが先に読み込まれます

Vimコマンド
:lua
NeovimからLuaコードを実行できます。
例) :lua print(123)
print() の出力内容は、 :echomsg などと同様に :messages で閲覧できます。
:luafile
指定されたLuaファイルを実行できます。
例) :luafile path/to/file.lua
:source コマンドでもLuaファイルは実行可能です。

Vim関数
luaeval()
与えられたLuaの式を評価し、その結果を返します。
例) :echo luaeval('1 + 2')
Luaのデータ型とVimScriptのデータ型は相互に自動変換されます。

v:lua
Luaの関数をVimScriptから実行することができます。
例) :call v:lua.print('foobar')

Lua標準モジュール
NeovimLuaに対していくつかのAPIを提供しています。
例) :lua print(vim.api.nvim_eval('1 + 2'))
:h lua-stdlib でヘルプを閲覧できます。

参考
Neovim公式のLuaガイド

NeovimからLuaを使う方法について

NeovimLuaの関係性についてまとめられた記事

init.vimからinit.luaに移行する方法について

リンク