添加vscode neovim相关配置

This commit is contained in:
a770 2025-05-31 11:38:43 +08:00
parent 59f0ba6a45
commit d1f5f0a2c8
12 changed files with 217 additions and 57 deletions

View file

@ -3,18 +3,18 @@
"blink-cmp-avante": { "branch": "master", "commit": "ddefb8de3cb1286ab39e0ccec0f32a45d03391f2" },
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "8162a4bd9afb42837a655e404d1f937a87ba95e6" },
"catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" },
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
"conform.nvim": { "branch": "master", "commit": "6feb2f28f9a9385e401857b21eeac3c1b66dd628" },
"copilot.lua": { "branch": "master", "commit": "96e1bb1963f351700bf6737ef3695e8a0b90b12a" },
"copilot.lua": { "branch": "master", "commit": "5f726c8e6bbcd7461ee0b870d4e6c8a973b55b64" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"dropbar.nvim": { "branch": "master", "commit": "1cb3facee196a4ac7ee31df502d5dddeb77122e7" },
"dropbar.nvim": { "branch": "master", "commit": "f7ecb0c3600ca1dc467c361e9af40f97289d7aad" },
"fittencode.nvim": { "branch": "master", "commit": "be2e6e8345bb76922fae37012af10c3cc51585b5" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"flutter-tools.nvim": { "branch": "main", "commit": "d5bb1dc3db78d7ab65dd8c5a6f32a38e383b9cb1" },
"flutter-tools.nvim": { "branch": "main", "commit": "d1022db80dab2a565563993843e8c60b20a3df39" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"fzf-lua": { "branch": "main", "commit": "8adf950093af5361621cf52208d64995b1af78b5" },
"gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
"fzf-lua": { "branch": "main", "commit": "29e982dfc96a134fecc80853c8cb8324e43e574b" },
"gitsigns.nvim": { "branch": "main", "commit": "8bdaccdb897945a3c99c1ad8df94db0ddf5c8790" },
"gtranslate.nvim": { "branch": "master", "commit": "a3ce65cd2ccda9c3198869fee53553d575aa547d" },
"img-clip.nvim": { "branch": "main", "commit": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
@ -24,33 +24,35 @@
"kommentary": { "branch": "main", "commit": "d5a111a3bc4109a8f913a5863c9092b3b3801482" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" },
"llm.nvim": { "branch": "main", "commit": "18013ee59b07230a755b28ab244dd46bcabd9ca1" },
"llm.nvim": { "branch": "main", "commit": "dc5d729a6482f38018f9a465b90a79420d139719" },
"lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "ce0e87c0be12e7c48296a7513e90430e3eac7f24" },
"mason.nvim": { "branch": "main", "commit": "9eaedb864cdadc29c6eb7d761a6c0d8aee26c91b" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "67da97f8c2fd12d05427bb485ce07ee6418e0a51" },
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"mini.nvim": { "branch": "stable", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" },
"mini.pick": { "branch": "main", "commit": "fa1e449e1080bf7aa9b2890ee186d23b1b4e1287" },
"multicursor.nvim": { "branch": "1.0", "commit": "cecbb3028ba166578eb8620ce885e2362d112ee0" },
"mini.pick": { "branch": "main", "commit": "c272dc61cd0326b344761cd9d031bfcdef1978c7" },
"multicursor.nvim": { "branch": "1.0", "commit": "9eedebdd395bbbc4711081e33b0606c079e054c3" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
"nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "f80de8ad944b1c464941cfcede597ab859060359" },
"nvim-lspconfig": { "branch": "master", "commit": "39dc331899521bbb4e102b614b71ab37464f8326" },
"nvim-dap": { "branch": "master", "commit": "b0f983507e3702f073bfe1516846e58b56d4e42f" },
"nvim-dap-view": { "branch": "main", "commit": "186c9580895f8552a6e0eff8087e643a824dac2d" },
"nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" },
"nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
"nvim-treesitter-context": { "branch": "master", "commit": "4976d8b90401cba9b85f6861e4e5a6edef2f2086" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "ed1cf48d5af252248c55f50b9427e8ce883a2c6b" },
"nvim-ufo": { "branch": "main", "commit": "3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08" },
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"peek.nvim": { "branch": "master", "commit": "a6f341dc2fca621bf3c9272360b9a62bc92bb1c0" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"rainbow-delimiters.nvim": { "branch": "master", "commit": "55ad4fb76ab68460f700599b7449385f0c4e858e" },
"render-markdown.nvim": { "branch": "main", "commit": "dac01bd6660af337613e8cfcb23a4aec5d3c0e38" },
"render-markdown.nvim": { "branch": "main", "commit": "048d68028d09ad2e134e7059032b8192a85180b9" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" },
"tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"yazi.nvim": { "branch": "main", "commit": "43abf4ea13156aa0a2a49f1978ee0d9b4c94088f" }
"yazi.nvim": { "branch": "main", "commit": "59c22d1a8bcb3d00a7115ef7f2d59b90cf989ab3" }
}

View file

@ -30,7 +30,7 @@ mapcmd("<leader><cr>", "nohlsearch")
-- 保存和退出
mapkey("", "S", ":wall<cr>")
mapkey("", "Q", ":q<cr>")
mapkey("", "Q", ":qall<cr>")
-- 撤销与反撤销
mapkey("", "l", "u")
@ -209,7 +209,7 @@ vim.cmd([[
au filetype dart noremap r :wall<cr>:Telescope flutter commands<cr>
au filetype python noremap r :wall<cr>:set splitbelow<cr>:sp<cr>:term uv run %<cr>
au filetype go noremap r :wall<cr>:set splitbelow<cr>:sp<cr>:term go run %<cr>
au filetype markdown noremap r :MarkdownPreview<cr>
au filetype markdown noremap r :PeekClose<cr>:PeekOpen<cr>
au filetype rust noremap r :wall<cr>:set splitbelow<cr>:sp<cr>:term cargo run<cr>
]])

View file

@ -17,12 +17,12 @@ vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
-- 启动Lazy插件管理快捷键
vim.keymap.set("n", "<leader>l", ":Lazy<CR>", { noremap = true })
require("lazy").setup({
-- 用Neovim打开kitty滚动缓冲
require("lazy.plugins.kittyscroll"),
-- 自动补全插件
require("lazy.plugins.blinkcmp"),
-- lsp配置全局的错误和警告提示修复建议重命名变量格式化代码等等
require("lazy.plugins.lspconfig"),
-- neovim中调试代码debug dap
require("lazy.plugins.dap"),
-- 格式化代码
require("lazy.plugins.formatter"),
-- ai编程助手Fitten Code
@ -31,12 +31,14 @@ require("lazy").setup({
require("lazy.plugins.llm"),
-- command line浮动弹窗noice
require("lazy.plugins.cmdline"),
-- 代码函数名称浏览时固定`[c`可以跳转到上下文
-- 代码函数名称浏览时固定
require("lazy.plugins.stickyScroll"),
-- fold折叠根据treesitter来折叠可以兼容我设置的<leader>o快捷键
require("lazy.plugins.fold"),
-- 缩进彩虹和高亮
require("lazy.plugins.indentrainbow"),
-- rainbow彩虹括号
require("lazy.plugins.rainbowbracket"),
-- 粘贴图片
require("lazy.plugins.imgclip"),
-- 图片预览
@ -49,8 +51,6 @@ require("lazy").setup({
require("lazy.plugins.outline"),
-- treesitter语法高亮
require("lazy.plugins.treesitter"),
-- rainbow彩虹括号
require("lazy.plugins.rainbowbracket"),
-- tabular使用:Tab /=来格式化等号之类,特使符号要转义如:Tabularize /\/
require("lazy.plugins.tabular"),
-- surround,各种对字符的包裹{} [] ''
@ -85,13 +85,17 @@ require("lazy").setup({
require("lazy.plugins.multicursor"),
-- which-key使用多个字母快捷键停留时会提示
require("lazy.plugins.whichkey"),
-- 顶部的winbar,可以鼠标点击
-- 顶部的winbar,可以鼠标点击,<scace>;选择,`[c`可以跳转到上下文开头,`]c`选择同级上下文
require("lazy.plugins.winbar"),
-- 用Neovim打开kitty滚动缓冲
require("lazy.plugins.kittyscroll"),
-- 像cursor一样使用neovim
require("lazy.plugins.avante"),
-- mcp server插件
-- require("lazy.plugins.mcphub"),
-- 用于改进在 Neovim 中查看 Markdown 文件的插件
-- require("lazy.plugins.markview"),
-- require("lazy.plugins.render-markdown"),
-- mcp server插件
-- require("lazy.plugins.mcphub"),
-- 像cursor一样使用neovim
require("lazy.plugins.avante"),
-- 在浏览器中查看markdown preview
require("lazy.plugins.markdownpreview"),
})

View file

@ -1,5 +1,6 @@
return {
"saghen/blink.cmp",
enabled = not vim.g.vscode, -- 在vscode-neovim禁用
dependencies = {
"rafamadriz/friendly-snippets",
"Kaiser-Yang/blink-cmp-avante",
@ -49,6 +50,12 @@ return {
documentation = { auto_show = true, auto_show_delay_ms = 500 },
-- 不预选第一个项目,选中后自动插入该项目文本
list = { selection = { preselect = false, auto_insert = true } },
-- 针对菜单的外观配置
-- menu = {
-- min_width = 15,
-- max_height = 10,
-- border = "single", -- Defaults to `vim.o.winborder` on nvim 0.11+
-- },
},
-- 指定文件类型启用/禁用
enabled = function()

View file

@ -18,7 +18,7 @@ return {
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = { "lsp_status" },
lualine_x = {},
lualine_y = { "encoding", "fileformat", "progress" },
lualine_y = { "encoding", "progress" },
lualine_z = { "location" },
},
},

125
lua/lazy/plugins/dap.lua Normal file
View file

@ -0,0 +1,125 @@
return {
"mfussenegger/nvim-dap",
dependencies = {
{
"igorlfs/nvim-dap-view",
opts = {
switchbuf = "useopen,uselast,newtab",
-- 开启控制栏按钮
winbar = {
controls = {
enabled = true,
},
},
},
},
},
config = function()
vim.keymap.set("n", "<F5>", function()
require("dap").continue()
end)
vim.keymap.set("n", "<F10>", function()
require("dap").step_over()
end)
vim.keymap.set("n", "<F11>", function()
require("dap").step_into()
end)
vim.keymap.set("n", "<F12>", function()
require("dap").step_out()
end)
vim.keymap.set("n", "<Leader>b", function()
require("dap").toggle_breakpoint()
end)
vim.keymap.set("n", "<Leader>B", function()
require("dap").set_breakpoint()
end)
vim.keymap.set("n", "<Leader>lp", function()
require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
end)
vim.keymap.set("n", "<Leader>dr", function()
require("dap").repl.open()
end)
vim.keymap.set("n", "<Leader>dl", function()
require("dap").run_last()
end)
vim.keymap.set({ "n", "v" }, "<Leader>dh", function()
require("dap.ui.widgets").hover()
end)
vim.keymap.set({ "n", "v" }, "<Leader>dp", function()
require("dap.ui.widgets").preview()
end)
vim.keymap.set("n", "<Leader>df", function()
local widgets = require("dap.ui.widgets")
widgets.centered_float(widgets.frames)
end)
vim.keymap.set("n", "<Leader>ds", function()
local widgets = require("dap.ui.widgets")
widgets.centered_float(widgets.scopes)
end)
-- 自动切换和关闭
local dap, dv = require("dap"), require("dap-view")
dap.listeners.before.attach["dap-view-config"] = function()
dv.open()
end
dap.listeners.before.launch["dap-view-config"] = function()
dv.open()
end
dap.listeners.before.event_terminated["dap-view-config"] = function()
dv.close()
end
dap.listeners.before.event_exited["dap-view-config"] = function()
dv.close()
end
-- 在 nvim-dap-view 文件类型中将 q 映射为 quit
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = { "dap-view", "dap-view-term", "dap-repl" }, -- dap-repl is set by `nvim-dap`
callback = function(evt)
vim.keymap.set("n", "q", "<C-w>q", { buffer = evt.buf })
end,
})
-- 如果没有窗口包含缓冲区,请创建一个新选项卡
dap.defaults.fallback.switchbuf = "usevisible,usetab,newtab"
dap.adapters.gdb = {
type = "executable",
command = "gdb",
args = { "--interpreter=dap", "--eval-command", "set print pretty on" },
}
dap.configurations.c = {
{
name = "Launch",
type = "gdb",
request = "launch",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end,
cwd = "${workspaceFolder}",
stopAtBeginningOfMainSubprogram = false,
},
{
name = "Select and attach to process",
type = "gdb",
request = "attach",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end,
pid = function()
local name = vim.fn.input("Executable name (filter): ")
return require("dap.utils").pick_process({ filter = name })
end,
cwd = "${workspaceFolder}",
},
{
name = "Attach to gdbserver :1234",
type = "gdb",
request = "attach",
target = "localhost:1234",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end,
cwd = "${workspaceFolder}",
},
}
dap.configurations.cpp = dap.configurations.c
dap.configurations.rust = dap.configurations.c
end,
}

View file

@ -1,9 +1,20 @@
-- ===
-- === explorer tree 文件列表
-- ===
-- 判断当前环境是否是vscode映射不同命令打开yazi
if vim.g.vscode then
-- VSCode Neovim environment
local vscode = require("vscode")
vim.keymap.set("n", "tt", function()
vscode.action("yazi-vscode.toggle")
end, { noremap = true, silent = true, desc = "Toggle Yazi (VSCode)" })
end
---@type LazySpec
return {
"mikavilpas/yazi.nvim",
enabled = not vim.g.vscode,
event = "VeryLazy",
dependencies = {
-- check the installation instructions at
@ -34,17 +45,3 @@ return {
vim.g.loaded_netrwPlugin = 1
end,
}
-- return {
-- "rolv-apneseth/tfm.nvim",
-- event = "VeryLazy",
-- opts = {
-- enable_cmds = true,
-- },
-- keys = {
-- {
-- "tt",
-- ":Tfm<CR>",
-- desc = "TFM - new tab",
-- },
-- },
-- }

View file

@ -6,25 +6,24 @@ return {
config = function()
opts = {}
local highlight = {
"RainbowBlue",
"RainbowViolet",
"RainbowRed",
"RainbowYellow",
"RainbowBlue",
"RainbowOrange",
"RainbowGreen",
"RainbowViolet",
"RainbowOrange",
"RainbowCyan",
}
local hooks = require("ibl.hooks")
-- create the highlight groups in the highlight setup hook, so they are reset
-- every time the colorscheme changes
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#61AFEF" })
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#C678DD" })
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#E06C75" })
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" })
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" })
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" })
vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" })
vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" })
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#E5C07B" })
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" })
vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" })
end)

View file

@ -0,0 +1,14 @@
return {
"cap153/peek.nvim",
event = { "VeryLazy" },
build = "deno task --quiet build:fast",
config = function()
require("peek").setup({
port = 9000,
-- app = { "firefox-esr", "-private-window" },
app = { "google-chrome-stable", "--app=http://localhost:9000/?theme=dark", "--incognito" },
})
vim.api.nvim_create_user_command("PeekOpen", require("peek").open, {})
vim.api.nvim_create_user_command("PeekClose", require("peek").close, {})
end,
}

View file

@ -8,6 +8,7 @@ map:cmd('<space>v', 'SymbolsOutline')
return {
'simrat39/symbols-outline.nvim',
enabled = not vim.g.vscode,
config = function()
require("symbols-outline").setup {
width = 20,

View file

@ -5,6 +5,16 @@
return {
"HiPhish/rainbow-delimiters.nvim",
config = function()
require("rainbow-delimiters.setup").setup({})
require("rainbow-delimiters.setup").setup({
highlight = {
"RainbowDelimiterBlue",
"RainbowDelimiterViolet",
"RainbowDelimiterRed",
"RainbowDelimiterYellow",
"RainbowDelimiterGreen",
"RainbowDelimiterOrange",
"RainbowDelimiterCyan",
},
})
end,
}

View file

@ -1,9 +1,10 @@
return {
"nvim-treesitter/nvim-treesitter-context",
config = function()
vim.keymap.set("n", "[c", function()
require("treesitter-context").go_to_context(vim.v.count1)
end, { silent = true })
-- 前往上下文开始处winbar相同快捷键更细致
-- vim.keymap.set("n", "[c", function()
-- require("treesitter-context").go_to_context(vim.v.count1)
-- end, { silent = true })
require'treesitter-context'.setup{
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.