NeovimのLua-guideを読んでメモ
困ったら何を見ればいい?
一般的なLua自体の書き方も、Neovim特有のLuaの書き方もNeovimのドキュメントをみよう
Neovimの3つの「API」
NeovimのAPIは、以下の3つのAPIがある
- Vim API
- Nvim API
- Lua API
Vim API
Vim由来のAPI。Luaからはvim.cmd()
やvim.fn()
を使ってアクセスできる。
Nvim API
Neovim由来のAPI。Luaからはvim.api
で始まる関数を使ってアクセスできる。
Lua API
Lua由来のAPI。Luaの標準ライブラリを使ってアクセスできる。
これについて知りたかったらlua-stdlib
のドキュメントを見ればいい。
例えば…
colorscheme habamax
はカラースキームを変更するVimのコマンド。
これはNeovimではVim APIとして提供されている。だから、
vim.cmd("colorscheme habamax")
または
vim.cmd([[colorscheme habamax]])
と書くことで、NeovimのLuaスクリプトからカラースキームを変更できる。
また、VimScriptの関数もLuaから呼び出せる。vim.fn()
を使えばいい。
print(vim.fn.printf("Hello, from %s", "world"))
使用できるVimScriptの関数は:h builtin-functions
または:h functions-list
を実行して確認できる。
変数
T.B.D
オプション
以下のVimScriptは
set smarttabset nosmarttab
Luaではこう書ける。
vim.opt.smarttab = truevim.opt.smarttab = false
ただし、:lua print(vim.opt.smarttab)
を実行してもtrue/false
は得られない。
Luaのテーブルのアドレス値だけが得られる。
true/false
を得るには以下のようにする必要がある。
print(vim.opt.smarttab:get())
ただし、もっと簡単な方法がある。
vim.o.smarttab = trueprint(vim.o.smarttab)--- true
困ったら:h lua-options
を見よう。
キーマッピング
T.B.D
Autocommands
T.B.D
ユーザーコマンド
T.B.D