Neovimの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
例) :lua print(123)
print()の出力内容は、:echomsgなどと同様に:messagesで閲覧できます。
:luafile
例) :luafile path/to/file.lua
:sourceコマンドでもLuaファイルは実行可能です。 Vim関数
luaeval()
与えられたLuaの式を評価し、その結果を返します。 例) :echo luaeval('1 + 2')
v:lua
例) :call v:lua.print('foobar')
Lua標準モジュール
例) :lua print(vim.api.nvim_eval('1 + 2'))
:h lua-stdlibでヘルプを閲覧できます。
参考
リンク