vimのオプションを移行していきます。
vimのオプションとは?
まず、vimのオプションとはvimscriptでsetを使って設定される項目を差しています
例えばこのような項目
set expandtab
neovimではデフォルトでオンになっているオプションもあるので注意
vimとneovimでのデフォルトでのオプションの差分
vimのオプションのluaでの書き方
以下のサイトに沿って移行します
Lua-guide - Neovim docs
Neovim user documentation
autogroupのluaでの書き方
Lua-guide - Neovim docs
Neovim user documentation
上記のurlではコマンド指定のkeyはcmdでしたがエラーがでました。’invalid key: cmd’
こっちではcommandになってたので入ったmandにしてみたらエラーなくなりました。
アプデでも入ったのかな
別ファイルの読み込み
requireを使うことで別ファイルを読み込むことができます。
require(“mod”)したときに探索してくれるパスは、runtimepathがfooとbarのとき
foo/lua/mod.lua
foo/lua/mod/init.lua
bar/lua/mod.lua
bar/lua/mod/init.lua
foo/lua/mod.so
foo/lua/mod.dll
bar/lua/mod.so
bar/lua/mod.dll
runtimepathについては以下
https://neovim.io/doc/user/options.html#’runtimepath‘
とりあえず、runtimepathには~/.config/nvimが含まれているので、以下のファイルは読み込める
~/.config/nvim/lua/mod.lua
vimオプション移行完了
移行後こんな感じになりました
vim.opt.expandtab = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.softtabstop = 4
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.number = true
vim.opt.textwidth = 0
vim.opt.smartindent = true
vim.opt.clipboard = "unnamed"
vim.opt.fileencodings = {"utf-8","iso-2022-jp","euc-jp","sjis","cp932","latin1"}
vim.opt.fileformats = {"unix","mac","dos"}
vim.opt.iskeyword:append({"-", "_"})
vim.api.nvim_create_augroup("fileTypeIndent", {
clear = false
})
vim.api.nvim_create_autocmd({"BufNewFile", "BufRead"},{
pattern = {"*.html", "*.css", ".scss", "javascript"},
group = "fileTypeIndent",
command = "setlocal tabstop=2 shiftwidth=2",
})
vim.api.nvim_create_autocmd({"BufNewFile", "BufRead"},{
pattern = {"c", "cpp", "java"},
group = "fileTypeIndent",
command = "setl cindent"
})
コメント