mirror of
https://github.com/cap153/nvim.git
synced 2026-04-17 01:35:54 +08:00
强制更新插件
This commit is contained in:
parent
b7c38200f4
commit
ef46f8a6ad
4 changed files with 36 additions and 29 deletions
5
.github/README.md
vendored
5
.github/README.md
vendored
|
|
@ -1,6 +1,11 @@
|
|||
> [!IMPORTANT]
|
||||
> 本人是colemak键位用户
|
||||
|
||||
可以用下面命令来更新插件:(不指定插件名默认更新全部)
|
||||
|
||||
* `:PackUpdate` 弹出界面让你审查,按 `:w` 确认
|
||||
* `:PackUpdate!` 跳过界面,直接后台拉取并更新
|
||||
|
||||
某些插件需要安装特定的软件才能正常使用,如果是arch用户可以使用`paru`或者`yay`安装,示例如下
|
||||
|
||||
```bash
|
||||
|
|
|
|||
|
|
@ -1,33 +1,47 @@
|
|||
-- === LSP 核心配置 (Lspconfig + Mason) ===
|
||||
if vim.g.vscode then return end
|
||||
|
||||
-- 1. 环境探测:判断 CPU 架构,决定安装哪些 LSP
|
||||
-- 环境探测:判断 CPU 架构,决定安装哪些 LSP
|
||||
local arch = jit and jit.arch or ""
|
||||
local is_arm = arch:match("arm") or arch:match("aarch64")
|
||||
|
||||
local servers = { "lua_ls", "rust_analyzer", "pylsp", "denols", }
|
||||
if not is_arm then
|
||||
vim.list_extend(servers, { "marksman", "svelte", "cssls", "html" })
|
||||
vim.list_extend(servers, { "marksman", "svelte", "cssls", "html" })
|
||||
end
|
||||
|
||||
-- 2. 插件配置清单
|
||||
-- 插件配置清单
|
||||
local P = {
|
||||
name = "nvim-lspconfig",
|
||||
deps = { "mason.nvim", "mason-lspconfig.nvim", "inlay-hints.nvim" },
|
||||
}
|
||||
|
||||
-- 3. 懒加载触发器:当打开文件时触发
|
||||
-- === 全局快捷键映射 ===
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.keymap.set("n", "<leader>h", vim.lsp.buf.hover, opts) -- <space>h显示提示文档
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) -- gd跳转到定义
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) -- gD跳转到声明(例如c语言中的头文件中的原型、一个变量的extern声明)
|
||||
vim.keymap.set("n", "go", vim.lsp.buf.type_definition, opts) -- go跳转到变量类型定义的位置(例如一些自定义类型)
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts) -- <space>rn变量重命名
|
||||
vim.keymap.set("n", "<leader>aw", vim.lsp.buf.code_action, opts) -- <space>aw可以在出现警告或错误的地方打开建议的修复方法
|
||||
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts) -- <space>d浮动窗口显示所在行警告或错误信息
|
||||
vim.keymap.set("n", "<leader>-", vim.diagnostic.goto_prev, opts) -- <space>-跳转到上一处警告或错误的地方
|
||||
vim.keymap.set("n", "<leader>=", vim.diagnostic.goto_next, opts) -- <space>+跳转到下一处警告或错误的地方
|
||||
-- vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) -- gr跳转到引用了对应变量或函数的位置,改用snacks
|
||||
-- vim.keymap.set({ 'n', 'x' }, '<leader>f', function() vim.lsp.buf.format({ async = true }) end, opts) -- <space>f进行代码格式化
|
||||
|
||||
-- 懒加载触发器:当打开文件时触发
|
||||
vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, {
|
||||
callback = function()
|
||||
PackUtils.load(P, function()
|
||||
-- === A. 基础依赖初始化 (Mason) ===
|
||||
-- === 基础依赖初始化 (Mason) ===
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = servers,
|
||||
})
|
||||
require("inlay-hints").setup()
|
||||
|
||||
-- === B. 全局诊断设置 ===
|
||||
-- === 全局诊断设置 ===
|
||||
vim.diagnostic.config({
|
||||
signs = {
|
||||
text = {
|
||||
|
|
@ -39,21 +53,7 @@ vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, {
|
|||
},
|
||||
})
|
||||
|
||||
-- === C. 全局快捷键映射 ===
|
||||
-- local opts = { noremap = true, silent = true }
|
||||
vim.keymap.set("n", "<leader>h", vim.lsp.buf.hover, opts) -- <space>h显示提示文档
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) -- gd跳转到定义
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) -- gD跳转到声明(例如c语言中的头文件中的原型、一个变量的extern声明)
|
||||
vim.keymap.set("n", "go", vim.lsp.buf.type_definition, opts) -- go跳转到变量类型定义的位置(例如一些自定义类型)
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts) -- <space>rn变量重命名
|
||||
vim.keymap.set("n", "<leader>aw", vim.lsp.buf.code_action, opts) -- <space>aw可以在出现警告或错误的地方打开建议的修复方法
|
||||
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts) -- <space>d浮动窗口显示所在行警告或错误信息
|
||||
vim.keymap.set("n", "<leader>-", vim.diagnostic.goto_prev, opts) -- <space>-跳转到上一处警告或错误的地方
|
||||
vim.keymap.set("n", "<leader>=", vim.diagnostic.goto_next, opts) -- <space>+跳转到下一处警告或错误的地方
|
||||
-- vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) -- gr跳转到引用了对应变量或函数的位置,改用snacks
|
||||
-- vim.keymap.set({ 'n', 'x' }, '<leader>f', function() vim.lsp.buf.format({ async = true }) end, opts) -- <space>f进行代码格式化
|
||||
|
||||
-- === D. 特定 LSP 配置 (使用 Neovim 0.11+ vim.lsp.config 语法) ===
|
||||
-- === 特定 LSP 配置 (使用 Neovim 0.11+ vim.lsp.config 语法) ===
|
||||
|
||||
-- Python (pylsp) + uv 虚拟环境自适应
|
||||
vim.lsp.config("pylsp", {
|
||||
|
|
|
|||
|
|
@ -82,19 +82,21 @@ local function get_plugin_names(arg_lead)
|
|||
return names
|
||||
end
|
||||
|
||||
-- :PackUpdate 命令更新插件,不带参数更新全部
|
||||
-- :PackUpdate 命令更新插件,不带参数更新全部,默认显示审查界面(需按 :w 确认);可以加 ! 强制直接更新
|
||||
vim.api.nvim_create_user_command("PackUpdate", function(opts)
|
||||
local targets = #opts.fargs > 0 and opts.fargs or nil
|
||||
local force = opts.bang -- 如果输入了 PackUpdate! 则 opts.bang 为 true
|
||||
if targets then
|
||||
vim.notify("Checking updates for: " .. table.concat(targets, ", "), vim.log.levels.INFO)
|
||||
else
|
||||
vim.notify("Checking updates for all plugins...", vim.log.levels.INFO)
|
||||
end
|
||||
vim.pack.update(targets)
|
||||
vim.pack.update(targets, { force = force })
|
||||
end, {
|
||||
nargs = "*", -- 支持 0 到多个参数
|
||||
complete = get_plugin_names, -- 绑定补全函数,可以改用'packadd'不过补全列表会有一些非vim.pack管理的插件
|
||||
desc = "Update specified or all plugins",
|
||||
nargs = "*",
|
||||
bang = true, -- 声明支持 ! 符号
|
||||
complete = get_plugin_names,
|
||||
desc = "Update plugins (use ! to skip confirmation)",
|
||||
})
|
||||
|
||||
-- :PackStatus 命令查看插件当前状态和版本
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"plugins": {
|
||||
"blink.cmp": {
|
||||
"rev": "456d38d1cd3743926f329204c2340f3e7840aad6",
|
||||
"rev": "c573a15a62bd0bfd4006ee0849b24f5404395500",
|
||||
"src": "https://github.com/saghen/blink.cmp"
|
||||
},
|
||||
"bufferline.nvim": {
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
"src": "https://github.com/windwp/nvim-autopairs"
|
||||
},
|
||||
"nvim-lspconfig": {
|
||||
"rev": "bedca8b426b2fee0ccac596d167d71bbe971253f",
|
||||
"rev": "4b7fbaa239c5db6b36f424a4521ca9f1a401be33",
|
||||
"src": "https://github.com/neovim/nvim-lspconfig"
|
||||
},
|
||||
"nvim-treesitter": {
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
"src": "https://github.com/hedyhli/outline.nvim"
|
||||
},
|
||||
"peek.nvim": {
|
||||
"rev": "803815d18689b8f9e69d433b08ed767d7555128c",
|
||||
"rev": "81365a4dee6f0314d1ab4f65b7f8aee804e741ed",
|
||||
"src": "https://github.com/cap153/peek.nvim"
|
||||
},
|
||||
"plenary.nvim": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue