From 66fae977bbf7dbed59079120389553f34fdca39c Mon Sep 17 00:00:00 2001 From: lenn Date: Thu, 8 Jan 2026 18:35:56 +0800 Subject: [PATCH] update commit --- init.lua | 81 ++++++++++++++++++++++++++++++++++++++++---------- lazy-lock.json | 14 +++++---- 2 files changed, 74 insertions(+), 21 deletions(-) diff --git a/init.lua b/init.lua index bb1d484..c4c694d 100644 --- a/init.lua +++ b/init.lua @@ -32,7 +32,12 @@ vim.keymap.set("n", "vs", "vsplit", { desc = "Vertical split" } vim.keymap.set("n", "hs", "split", { desc = "Horizontal split" }) vim.keymap.set("n", "sx", "close", { desc = "Close split" }) vim.keymap.set("n", "so", "only", { desc = "Only this split" }) -vim.keymap.set("i", "jj", "", { noremap = true, silent = true}) +vim.keymap.set("i", "jj", function() + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", false) + if vim.bo.modified and vim.bo.buftype == "" and vim.fn.expand("%") ~= "" then + vim.cmd("silent update") + end +end, { noremap = true, silent = true}) vim.keymap.set("i", "", "", { noremap = true, silent = true }) vim.keymap.set("i", "", "", { noremap = true, silent = true }) vim.keymap.set("i", "", "", { noremap = true, silent = true }) @@ -41,6 +46,15 @@ vim.keymap.set("n", "", ":m .+1==", { noremap = true, silent = true }) vim.keymap.set("n", "", ":m .-2==", { noremap = true, silent = true }) vim.keymap.set("v", "", ":m '>+1gv=gv", { noremap = true, silent = true }) vim.keymap.set("v", "", ":m '<-2gv=gv", { noremap = true, silent = true }) +vim.keymap.set("n", "tn", "tabnew", { desc = "tabnew" }) + +-- 切换tab +for i = 1, 9 do + vim.keymap.set("n", "" .. i, i .. "gt", { desc = "Go to tab " .. i }) +end + +vim.keymap.set("n", "th", "gT", { desc = "Prev tab" }) +vim.keymap.set("n", "tl", "gt", { desc = "Next tab" }) -- edit vim config -- vim.keymap.set("n", "ev", function() vim.cmd("edit " .. vim.fn.stdpath("config") .. "/init.lua") @@ -137,8 +151,19 @@ vim.filetype.add({ }, }) +-- QML / QMLJS LSP (Qt qmlls) +local qml_cmd = vim.fn.exepath("qmlls") +if qml_cmd == "" then + qml_cmd = vim.fn.exepath("qmlls6") +end +vim.lsp.config("qmlls", { + cmd = { qml_cmd }, + filetypes = { "qml", "qmljs" }, + root_markers = { ".qmlls.ini", "qmldir", ".git" }, +}) + -- enable lsp -- -vim.lsp.enable({ "clangd", "rust_analyzer", "zls", "jsonls", "glslls", "build"}) +vim.lsp.enable({ "clangd", "rust_analyzer", "zls", "jsonls", "glslls", "build", "qmlls"}) -- ===== Auto save on leave ===== vim.api.nvim_create_autocmd({ @@ -316,19 +341,6 @@ require("lazy").setup({ vim.keymap.set("n", "fS", builtin.lsp_workspace_symbols,{ desc = "Symbols (workspace)" }) end, }, - { - "stevearc/oil.nvim", - config = function() - require("oil").setup() - vim.keymap.set("n", "-", "Oil", { desc = "Open parent directory (Oil)" }) - vim.api.nvim_create_autocmd("FileType", { - pattern = "oil", - callback = function() - vim.keymap.set("n", "q", "bd", { buffer = true }) - end, - }) - end - }, { "echasnovski/mini.pairs", version = false, @@ -359,5 +371,44 @@ require("lazy").setup({ }) end, }, + { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + require("neo-tree").setup({ + close_if_last_window = true, + popup_border_style = "rounded", + enable_git_status = true, + enable_diagnostics = true, + window = { + position = "left", + width = 32, + mapping = { + ["l"] = "open", + ["h"] = "close_node", + [""] = "toggle_node", + }, + }, + filesystem = { + filtered_items = { + visible = true, + hide_dotfiles = false, + hide_gitignored = false, + }, + follow_current_file = { + enable = true, + }, + }, + }) + + vim.keymap.set("n", "fe", "Neotree toggle left", { desc = "Explorer (Neo-tree)"}) + vim.keymap.set("n", "-", "Neotree toggle left", { desc = "Explorer (Neo-tree)"}) + end, + }, }) diff --git a/lazy-lock.json b/lazy-lock.json index 7416814..4c20ca3 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -4,17 +4,19 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "conform.nvim": { "branch": "master", "commit": "df83eeaab265dacd2eef139a78e502a3f8926618" }, + "conform.nvim": { "branch": "master", "commit": "8314f4c9e205e7f30b62147069729f9a1227d8bf" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "130beacf8a51f00aede9c31064c749136679a321" }, + "gitsigns.nvim": { "branch": "main", "commit": "6bd29494e3f79ff08be1d35bc1926ed23c22ed9a" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "mini.pairs": { "branch": "main", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" }, - "nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" }, - "nvim-treesitter": { "branch": "main", "commit": "7efc1b58a8061d29786860006c7257c90a5196dc" }, - "oil.nvim": { "branch": "master", "commit": "963c8d2c5538c4a896a31f396b8a5a2683e254dc" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" }, + "nvim-treesitter": { "branch": "main", "commit": "b033ab331ca0bccbd93c3c2b4f886fdfc09abec0" }, + "nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "telescope.nvim": { "branch": "master", "commit": "3f8109cd21abe9fdb274a09da1e3c176673254b4" }, + "telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" }, "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" } }