Open6
LunarVimをカスタマイズしていく

- toggletermで複数タブ開けるようにしたい
- 文字列検索で複数引っかかったときに、任意の箇所に一発でジャンプしたい
- pythonの補完をvenvに対応させたい
- explorerでサブディレクトリ配下のファイルを開いた時のnvim-treeの挙動を変えたい
- copilotの日本語に提案がうまくアクセプトできないのでどうにかしたい
- x, d, ciwとかでクリップボードにコピーされるのどうにかしたい
- typescriptのフォーマットでbiomeの設定に対応させたい。
- 漢字が文字化けする
今の設定

- pythonの補完をvenvに対応させたい。
よくわかってないけど、以下の設定を追加したらできた。
vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" })
require("lspconfig").pyright.setup {
settings = {
python = {
venvPath = ".",
pythonPath = "./.venv/bin/python",
analysis = {
extraPaths = { "." }
}
}
}
}

- 文字列検索で複数引っかかったときに、任意の箇所に一発でジャンプしたい
下の2つは同僚が開発したプラグイン🎧
config.lua
{ url = "https://github.com/vim-denops/denops.vim" },
{ url = "https://github.com/lambdalisue/kensaku.vim" },
{
url = "https://github.com/atusy/jab.nvim",
-- dev = true,
lazy = true,
init = function()
vim.keymap.set({ "n", "x", "o" }, "f", function()
return require("jab").f()
end, { expr = true })
vim.keymap.set({ "n", "x", "o" }, "F", function()
return require("jab").F()
end, { expr = true })
vim.keymap.set({ "n", "x", "o" }, "t", function()
return require("jab").t()
end, { expr = true })
vim.keymap.set({ "n", "x", "o" }, "T", function()
return require("jab").T()
end, { expr = true })
vim.keymap.set({ "n", "x", "o" }, ";", function()
return require("jab").jab_win()
end, { expr = true })
end,
},
{
url = "https://github.com/atusy/treemonkey.nvim",
init = function()
vim.keymap.set({ "x", "o" }, "m", function()
require("treemonkey").select({ ignore_injections = false })
end)
end
}

- explorerでサブディレクトリ配下のファイルを開いた時のnvim-treeの挙動を変えたい
サブディレクトリ配下のファイルを開くと、explorerも移動しちゃうのでやめたかった。
config.lua
lvim.builtin.nvimtree.setup.update_focused_file.update_root = false
lvim.builtin.nvimtree.setup.sync_root_with_cwd = false
これでできた。

- copilotの日本語に提案がうまくアクセプトできないのでどうにかしたい
こういうの日本語の提案を受け入れようとすると下記エラーが出てた。
Error executing vim.schedule lua callback: .../neovim/0.10.2_1/share/nvim/runtime/lua/vim/lsp/util.lua:485: index out of range
stack traceback:
[C]: in function 'get_line_byte_from_position'
.../neovim/0.10.2_1/share/nvim/runtime/lua/vim/lsp/util.lua:485: in function 'apply_text_edits'
...ite/pack/lazy/opt/copilot.lua/lua/copilot/suggestion.lua:489: in function ''
vim/_editor.lua: in function <vim/_editor.lua:0>
解決策
neovimのnightly使ってるけど、エラー出ないよって同僚が言ってたのでnighlyにあげたらエラー出なくなりました。
補足
nightlyへバージョン上げる方法(macOS)
brew install utf8proc --HEAD && brew install neovim --HEAD
あ、インストール前にutf8procとneovimをアンインストールした。

- x, d, ciwとかでクリップボードにコピーされるのどうにかしたい
vim.opt.clipboard = ""
vim.keymap.set({ "v", "n" }, "y", '"+y')