return { 'akinsho/toggleterm.nvim', version = "*", config = function() require("toggleterm").setup { size = 20, open_mapping = [[]], hide_numbers = true, shade_filetypes = {}, shade_terminals = true, shading_factor = 2, start_in_insert = true, insert_mappings = true, persist_size = true, direction = "float", auto_scroll = true, close_on_exit = true, shell = vim.o.shell, float_opts = { border = "curved", winblend = 0, highlights = { border = "Normal", background = "Normal", }, }, } function _G.set_terminal_keymaps() local opts = { buffer = 0 } vim.keymap.set('t', '', [[]], opts) vim.keymap.set('t', 'jk', [[]], opts) vim.keymap.set('t', '', [[wincmd h]], opts) -- vim.keymap.set('t', '', [[wincmd j]], opts) -- vim.keymap.set('t', '', [[wincmd k]], opts) vim.keymap.set('t', '', [[wincmd l]], opts) -- vim.keymap.set('t', '', [[]], opts) -- vim.keymap.set('n', 'tt', 'ToggleTerm') -- vim.keymap.set('n', 't1', '1ToggleTerm') -- vim.keymap.set('n', 't2', '2ToggleTerm') end -- if you only want these mappings for toggle term use term://*toggleterm#* instead vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') end }