From 095acafb628bbea9e657d1e7514c46bf3509a739 Mon Sep 17 00:00:00 2001 From: veypi Date: Thu, 23 Apr 2026 21:23:52 +0800 Subject: [PATCH] update --- lazy-lock.json | 46 +++++++++++++++++++++--------------------- lua/config/keymaps.lua | 42 ++++++++++++++++++++++++++++++++++++++ lua/plugins/ai.lua | 30 ++++++++++++++++++++++++++- 3 files changed, 94 insertions(+), 24 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index f5e57e1..1970c59 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,46 +1,46 @@ { - "LazyVim": { "branch": "main", "commit": "fca0af57cc3851b14f96a795a9c9bfafc5096dd1" }, - "SchemaStore.nvim": { "branch": "main", "commit": "157fa3f37a3be55ceb375274e2f3ea2d7d2f9ef6" }, + "LazyVim": { "branch": "main", "commit": "83d90f339defdb109a6ede333865a66ffc7ef6aa" }, + "SchemaStore.nvim": { "branch": "main", "commit": "b2e84d00db4d5432f471d58898e796b478f075a7" }, "auto-save.nvim": { "branch": "main", "commit": "61892d67acd5b7c845f5da4d780b26fcd7f63e34" }, - "blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" }, + "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "catppuccin": { "branch": "main", "commit": "384f304c8b04664c9e0091fbfb3923c5f97c1bcf" }, + "catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" }, "claudecode.nvim": { "branch": "main", "commit": "432121f0f5b9bda041030d1e9e83b7ba3a93dd8f" }, "codeium.nvim": { "branch": "main", "commit": "821b570b526dbb05b57aa4ded578b709a704a38a" }, + "codex.nvim": { "branch": "main", "commit": "4317788afc091d5e913109c55d5a04f32be4e14a" }, "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, - "copilot.vim": { "branch": "release", "commit": "a12fd5672110c8aa7e3c8419e28c96943ca179be" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, - "grug-far.nvim": { "branch": "main", "commit": "dc4684e163971bb1f5bfb93fbd4bb3e892bf9b15" }, + "grug-far.nvim": { "branch": "main", "commit": "21604255d0e8f9968322f61f2b6c09e5efe1285a" }, "inc-rename.nvim": { "branch": "main", "commit": "0074b551a17338ccdcd299bd86687cc651bcb33d" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" }, - "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, + "lualine.nvim": { "branch": "master", "commit": "a905eeebc4e63fdc48b5135d3bf8aea5618fb21c" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a676ab7282da8d651e175118bcf54483ca11e46d" }, - "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, - "mini.ai": { "branch": "main", "commit": "4b0a6207341d895b6cfe9bcb1e4d3e8607bfe4f4" }, - "mini.diff": { "branch": "main", "commit": "ff3cd5e76e812fa18bde0f8126d6f3bb62008c79" }, - "mini.hipatterns": { "branch": "main", "commit": "2c5dce6dc7443de814d16f7470549811ee86e664" }, - "mini.icons": { "branch": "main", "commit": "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e" }, - "mini.pairs": { "branch": "main", "commit": "b7fde3719340946feb75017ef9d75edebdeb0566" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0a3b42c3e503df87aef6d6513e13148381495c3a" }, + "mason.nvim": { "branch": "main", "commit": "b03fb0f20bc1d43daf558cda981a2be22e73ac42" }, + "mini.ai": { "branch": "main", "commit": "43eb2074843950a3a25aae56a5f41362ec043bfa" }, + "mini.diff": { "branch": "main", "commit": "ab11575a6c147ecfba894d676d0c93e855021d34" }, + "mini.hipatterns": { "branch": "main", "commit": "a3ffba45e4119917b254c372df82e79f7d8c4aad" }, + "mini.icons": { "branch": "main", "commit": "7fdae2443a0e2910015ca39ad74b50524ee682d3" }, + "mini.pairs": { "branch": "main", "commit": "42387c7fe68fc0b6e95eaf37f1bb76e7bffaa0d9" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lint": { "branch": "master", "commit": "606b823a57b027502a9ae00978ebf4f5d5158098" }, - "nvim-lspconfig": { "branch": "master", "commit": "dc2f86d2b66a6e01a98c37cdadd3be3e90f8ab9a" }, - "nvim-treesitter": { "branch": "main", "commit": "2cc172c28e5550e00e6beead4599b1469469c1c7" }, - "nvim-treesitter-textobjects": { "branch": "main", "commit": "4e91b5d0394329a229725b021a8ea217099826ef" }, + "nvim-lint": { "branch": "master", "commit": "eab58b48eb11d7745c11c505e0f3057165902461" }, + "nvim-lspconfig": { "branch": "master", "commit": "8a9378a822719346a0288fa004dab302ca3c0a8f" }, + "nvim-treesitter": { "branch": "main", "commit": "7caec274fd19c12b55902a5b795100d21531391f" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, - "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "render-markdown.nvim": { "branch": "main", "commit": "e3c18ddd27a853f85a6f513a864cf4f2982b9f26" }, - "snacks.nvim": { "branch": "main", "commit": "a049339328e2599ad6e85a69fa034ac501e921b2" }, - "telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" }, + "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, + "render-markdown.nvim": { "branch": "main", "commit": "0fd43fb4b1f073931c4b481f5f3b7cea3749e190" }, + "snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" }, + "telescope.nvim": { "branch": "master", "commit": "3ab376cfae65b921dda454df5967f8df673effc6" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, - "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" }, "transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 8b71b1a..b66e2ee 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -7,3 +7,45 @@ local map = LazyVim.safe_keymap_set map("n", "q", "bd", { desc = "Quit one" }) map("n", "Q", "qa", { desc = "Quit All" }) map("n", "", ":Neotree toggle", { desc = "toggle neotree" }) + +-- 自定义复制:文件名 + 行号范围 + 内容 +-- 用法:yp(当前行),2yp(当前行及以下共2行) +_G.copy_lines_with_location = function() + local ok, err = pcall(function() + local count = vim.v.count1 + local bufnr = vim.api.nvim_get_current_buf() + local filepath = vim.api.nvim_buf_get_name(bufnr) + local relative_path = vim.fn.fnamemodify(filepath, ":.") + if relative_path == "" then + relative_path = "[No Name]" + end + + local start_line = vim.api.nvim_win_get_cursor(0)[1] + local end_line = start_line + count - 1 + local lines = vim.api.nvim_buf_get_lines(bufnr, start_line - 1, end_line, false) + + local range_str + if count == 1 then + range_str = tostring(start_line) + else + range_str = string.format("%d-%d", start_line, end_line) + end + + local parts = { string.format("%s:%s:", relative_path, range_str) } + for i, line in ipairs(lines) do + table.insert(parts, string.format(" %d: %s", start_line + i - 1, line)) + end + local result = table.concat(parts, "\n") + + vim.fn.setreg("+", result) + vim.fn.setreg('"', result) + vim.notify("Copied " .. #lines .. " line(s)", vim.log.levels.INFO) + end) + if not ok then + vim.notify("copy_lines_with_location error: " .. tostring(err), vim.log.levels.ERROR) + end +end +local copy_lines_with_location = _G.copy_lines_with_location + +map("n", "yy", copy_lines_with_location, { desc = "Copy line(s) with location" }) + diff --git a/lua/plugins/ai.lua b/lua/plugins/ai.lua index 752b802..433aa01 100644 --- a/lua/plugins/ai.lua +++ b/lua/plugins/ai.lua @@ -7,7 +7,35 @@ -- return { - { "github/copilot.vim" }, + -- { "github/copilot.vim" }, + { + "kkrampis/codex.nvim", + lazy = true, + cmd = { "Codex", "CodexToggle" }, -- Optional: Load only on command execution + keys = { + { + "xc", -- Change this to your preferred keybinding + function() + require("codex").toggle() + end, + desc = "Toggle Codex popup or side-panel", + mode = { "n", "t" }, + }, + }, + opts = { + cmd = { "bash", "-c", "http_proxy=http://127.0.0.1:7897 https_proxy=http://127.0.0.1:7897 codex" }, + keymaps = { + toggle = nil, -- Keybind to toggle Codex window (Disabled by default, watch out for conflicts) + quit = "", -- Keybind to close the Codex window (default: Ctrl + q) + }, -- Disable internal default keymap (cc -> :CodexToggle) + border = "rounded", -- Options: 'single', 'double', or 'rounded' + width = 0.8, -- Width of the floating window (0.0 to 1.0) + height = 0.8, -- Height of the floating window (0.0 to 1.0) + model = nil, -- Optional: pass a string to use a specific model (e.g., 'o3-mini') + panel = false, -- Open Codex in a side-panel (vertical split) instead of floating window + use_buffer = false, -- Capture Codex stdout into a normal buffer instead of a terminal buffer + }, + }, { "coder/claudecode.nvim", opts = {},