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 nosmarttabLuaではこう書ける。
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