-- English comments only. local ok, toggleterm = pcall(require, "toggleterm") if not ok then return end toggleterm.setup({ open_mapping = [[]], -- Ctrl + \ direction = "float", -- "horizontal" | "vertical" | "tab" | "float" close_on_exit = true, start_in_insert = true, shade_terminals = true, float_opts = { border = "rounded", }, }) -- Terminal mode keymaps (quality of life) function _G.set_terminal_keymaps() local opts = { buffer = 0, silent = true } -- Exit terminal insert mode vim.keymap.set("t", "", [[]], opts) -- Navigate windows from terminal vim.keymap.set("t", "", [[h]], opts) vim.keymap.set("t", "", [[j]], opts) vim.keymap.set("t", "", [[k]], opts) vim.keymap.set("t", "", [[l]], opts) end vim.cmd([[autocmd! TermOpen term://* lua set_terminal_keymaps()]]) -- LazyGit terminal local ok_term, Term = pcall(require, "toggleterm.terminal") if not ok_term then return end local lazygit = Term.Terminal:new({ cmd = "lazygit", hidden = true, direction = "float", float_opts = { border = "rounded" }, }) function _G.LazygitToggle() lazygit:toggle() end vim.keymap.set("n", "gg", "lua LazygitToggle()", { silent = true, desc = "LazyGit" })