neovim-config/lua/keymaps.lua

45 lines
1.9 KiB
Lua
Raw Normal View History

2025-10-22 06:57:49 +02:00
vim.keymap.set('v', '<C-c>', '"+y', { noremap = true })
vim.keymap.set('n', '<C-v>', '"+p', { noremap = true })
-- Keymaps
vim.keymap.set("n", "<leader>fb", function()
require("telescope").extensions.file_browser.file_browser()
end, { desc="file browser"} )
-- -- Navigation entre buffers en mode NORMAL
-- vim.keymap.set("n", "<Tab>", ":bnext<CR>", { desc = "⬅️ Buffer précédent" })
-- vim.keymap.set("n", "<S-Tab>", ":bprevious<CR>", { desc = "⬅️ Buffer précédent" })
--
-- -- Indentation en mode INSERT et VISUEL
-- vim.keymap.set("i", "<Tab>", "<Tab>", { desc = "➡️ Tabulation" })
-- vim.keymap.set("v", "<Tab>", ">gv", { desc = "➡️ Indenter la sélection" })
-- vim.keymap.set("v", "<S-Tab>", "<gv", { desc = "⬅️ Désindenter la sélection" })
-- Fonction générique pour créer une commande Docker
local function create_docker_command(name, cmd)
vim.api.nvim_create_user_command(name, function()
local Terminal = require("toggleterm.terminal").Terminal
local cwd = vim.fn.getcwd()
local docker_terminal = Terminal:new({
cmd = "docker run --platform=linux/amd64 --rm -it -v " .. cwd .. ":/app lomigandtux/meson-gcc:latest sh -c \"cd /app && " .. cmd .. "\"",
close_on_exit = false,
direction = "float",
hidden = true,
float_opts = {
border = "curved",
width = 80,
height = 20,
winblend = 10,
},
})
docker_terminal:toggle()
end, {})
end
-- Ajout des commandes Docker
create_docker_command("Make", "make")
create_docker_command("MakeClean", "make clean")
create_docker_command("MakeRun", "/bin/bash run.sh")
create_docker_command("MesonSetup", "meson setup build")
create_docker_command("MesonBuild", "ninja -C build")
create_docker_command("MesonClean", "ninja -C build clean")
create_docker_command("MesonRun", "cd build && ./main")