Closed1

nvim-cmp + lazy.nvimを動作させる

モッモッ

最低限動作する設定

init.lua
-- lazy.nvim のパス設定(lazy.nvim を管理するための初期設定)
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
    vim.fn.system({
        "git",
        "clone",
        "--filter=blob:none",
        "https://github.com/folke/lazy.nvim.git",
        "--branch=stable",
        lazypath,
    })
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({
    {
        -- 補完エンジン nvim-cmp の設定
        "hrsh7th/nvim-cmp",
        event = "InsertEnter", -- 挿入モードに入ったときにプラグインをロード
        dependencies = { -- nvim-cmp に必要な依存プラグイン
            { "hrsh7th/cmp-buffer" }, -- 現在のバッファの内容を補完候補に含める
            { "saadparwaiz1/cmp_luasnip" }, -- LuaSnip と nvim-cmp を統合
            { "L3MON4D3/LuaSnip" }, -- スニペットエンジン LuaSnip
            { "rafamadriz/friendly-snippets" }, -- 事前定義されたスニペットコレクション
        },
        config = function()
            -- nvim-cmp の設定
            local cmp = require("cmp") -- nvim-cmp のメインモジュールをロード
            local luasnip = require("luasnip") -- LuaSnip のモジュールをロード
            require("luasnip/loaders/from_vscode").lazy_load() -- VSCode スタイルのスニペットをロード

            cmp.setup({
                snippet = {
                    -- スニペット展開方法を定義
                    expand = function(args)
                        luasnip.lsp_expand(args.body) -- LuaSnip を使ってスニペットを展開
                    end,
                },
                mapping = cmp.mapping.preset.insert({
                    ["<C-b>"] = cmp.mapping.scroll_docs(-4), -- 補完候補のドキュメントを上にスクロール
                    ["<C-f>"] = cmp.mapping.scroll_docs(4), -- 補完候補のドキュメントを下にスクロール
                    ["<C-Space>"] = cmp.mapping.complete(), -- 手動で補完候補を表示
                    ["<C-e>"] = cmp.mapping.abort(), -- 補完を中断して閉じる
                    ["<CR>"] = cmp.mapping.confirm({ select = true }), -- 補完確定 (現在選択中の候補を使用)
                }),
                sources = cmp.config.sources({
                    { name = "luasnip", priority_weight = 20 }, -- LuaSnip を補完候補に含める
                }, {
                    { name = "buffer" }, -- バッファの内容を補完候補に含める
                }),
            })
        end,
    },
})

htmlの編集

このスクラップは2025/01/16にクローズされました