function _G.set_terminal_keymaps() local opts = { noremap = true } vim.api.nvim_buf_set_keymap(0, 't', '', [[]], opts) vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[]], opts) vim.api.nvim_buf_set_keymap(0, 't', '', [[h]], opts) vim.api.nvim_buf_set_keymap(0, 't', '', [[j]], opts) vim.api.nvim_buf_set_keymap(0, 't', '', [[k]], opts) vim.api.nvim_buf_set_keymap(0, 't', '', [[l]], opts) end vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') local Terminal = require("toggleterm.terminal").Terminal local python = Terminal:new({ cmd = "python3", hidden = true }) function _PYTHON_TOGGLE() python:toggle() end require('which-key').register { ['t'] = { name = "[T]erminal", p = { "lua _PYTHON_TOGGLE()", "Python" }, -- Python Terminal f = { "ToggleTerm direction=float", "Float" }, -- Floating Terminal -- Play with size according to your needs. h = { "ToggleTerm size=10 direction=horizontal", "Horizontal" }, -- Horizontal Terminal, v = { "ToggleTerm size=80 direction=vertical", "Vertical" }, -- Vertical Terminal }, }