From c0d94481370157c6b47f30f7419a95c48de907e6 Mon Sep 17 00:00:00 2001 From: taynpg Date: Wed, 11 Feb 2026 14:15:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0cmake-vsenv=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/config/keymaps.lua | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 06b1b8e..0de42e0 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -1,24 +1,25 @@ --- Keymaps are automatically loaded on the VeryLazy event --- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua --- Add any additional keymaps here --- --- --- local Terminal = require("toggleterm.terminal").Terminal --- 测试外部命令。 -local dir_term = Terminal:new({ - cmd = "cmd.exe /c dir", - direction = "float", - float_opts = { +-- 创建通用函数 +local function createCMakeTask(action) + return function() + local cwd = vim.fn.getcwd() + local dir_term = Terminal:new({ + cmd = "cmake-vsenv -t Debug -a " .. action .. " -r " .. cwd, + direction = "float", + float_opts = { border = "rounded", width = 100, height = 30, - }, - hidden = false, - close_on_exit = false, -}) - -vim.keymap.set("n", "mt", function() + }, + hidden = false, + close_on_exit = false, + }) dir_term:toggle() -end, { desc = "List directory contents" }) + end +end + +-- 设置快捷键 +vim.keymap.set("n", "mc", createCMakeTask("Config"), { desc = "ConfigDebug" }) +vim.keymap.set("n", "mb", createCMakeTask("Build"), { desc = "BuildDebug" }) +vim.keymap.set("n", "mr", createCMakeTask("Clear"), { desc = "RemoveBuild" })