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
でヘルプを閲覧できます。
参考
リンク