-- ~/.config/nvim/init.lua vim.opt.number = true -- 行番号表示 vim.opt.relativenumber = true -- 相対行番号 vim.opt.mouse = 'a' -- マウス使える vim.opt.clipboard = 'unnamedplus' -- システムクリップボード -- インデント設定 vim.opt.tabstop = 2 vim.opt.shiftwidth = 2 vim.opt.expandtab = true -- 検索設定 vim.opt.ignorecase = true vim.opt.smartcase = true -- vim-plug の設定だよ〜 local Plug = vim.fn['plug#'] vim.call('plug#begin', '~/.local/share/nvim/plugged') -- とりあえず最初に入れるといいプラグインたち♪ Plug 'nvim-treesitter/nvim-treesitter' -- シンタックスハイライト Plug 'neovim/nvim-lspconfig' -- LSP設定 Plug 'hrsh7th/nvim-cmp' -- 補完エンジン Plug 'hrsh7th/cmp-nvim-lsp' -- LSP補完 Plug 'hrsh7th/cmp-buffer' -- バッファ補完 Plug 'hrsh7th/cmp-path' -- パス補完 Plug 'hrsh7th/cmp-cmdline' -- コマンドライン補完 Plug 'hrsh7th/cmp-vsnip' -- vsnip補完 Plug 'hrsh7th/vim-vsnip' -- vsnipエンジン Plug 'greggh/claude-code.nvim' -- Claude Code integration Plug 'syui/airsave.nvim' -- Auto save plugin vim.call('plug#end') -- 基本設定 vim.opt.number = true vim.opt.relativenumber = true vim.opt.mouse = 'a' vim.opt.clipboard = 'unnamedplus' vim.opt.tabstop = 2 vim.opt.shiftwidth = 2 vim.opt.expandtab = true vim.opt.ignorecase = true vim.opt.smartcase = true -- nvim-cmp の設定(プラグインインストール後に有効化) local ok_cmp, cmp = pcall(require, 'cmp') if ok_cmp then cmp.setup({ mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, { 'i', 's' }), [''] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, { 'i', 's' }), }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'path' }, -- パス補完を優先 { name = 'buffer' }, }), completion = { completeopt = 'menu,menuone,noinsert' }, experimental = { ghost_text = true, -- 薄い文字でプレビュー表示 } }) -- コマンドライン補完 cmp.setup.cmdline('/', { mapping = cmp.mapping.preset.cmdline(), sources = { { name = 'buffer' } } }) cmp.setup.cmdline(':', { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } }) }) end -- airsave.nvim 設定(プラグインインストール後に有効化) local ok_airsave, airsave = pcall(require, 'airsave') if ok_airsave then airsave.setup({ auto_write = true, -- g:air_auto_write = 1 と同じ no_silent = true, -- g:air_auto_write_nosilent = 1 と同じ }) end -- 永続undo設定 vim.opt.undofile = true vim.opt.undodir = vim.fn.expand('~/.config/nvim/undo') -- undo ディレクトリを作成 vim.fn.mkdir(vim.fn.expand('~/.config/nvim/undo'), 'p') -- ghost textの色設定 vim.api.nvim_set_hl(0, 'CmpGhostText', { fg = '#666666', italic = true }) -- キーマッピング vim.keymap.set('n', 'Q', ':q', { desc = 'Quit' })