Open6

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

omihirofumiomihirofumi
  • 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 = { "." }
            }
        }
    }
}
omihirofumiomihirofumi
  • 文字列検索で複数引っかかったときに、任意の箇所に一発でジャンプしたい
    下の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
    }
omihirofumiomihirofumi
  • 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

これでできた。

omihirofumiomihirofumi
  • 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をアンインストールした。
https://zenn.dev/cp_r/articles/8614e846cf8ed6

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