-- https://github.com/akinsho/toggleterm.nvim local toggleterm = require("toggleterm") local Terminal = require("toggleterm.terminal").Terminal local opts = { noremap = true, silent = true } -- Keymaps vim.keymap.set("n", "ncdu", "lua _NCDU_TOGGLE()", opts) vim.keymap.set("n", "node", "lua _NODE_TOGGLE()", opts) vim.keymap.set("n", "top", "lua _HTOP_TOGGLE()", opts) vim.keymap.set("n", "y", "lua _PYTHON_TOGGLE()", opts) 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", 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 = { noremap = true, } local keymap = vim.api.nvim_buf_set_keymap keymap(0, "t", "", [[]], opts) keymap(0, "t", "", [[h]], opts) keymap(0, "t", "", [[j]], opts) keymap(0, "t", "", [[k]], opts) keymap(0, "t", "", [[l]], opts) end vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") local tig = Terminal:new({ cmd = "tig", hidden = true }) local node = Terminal:new({ cmd = "node", hidden = true }) local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) local htop = Terminal:new({ cmd = "htop", hidden = true }) local python = Terminal:new({ cmd = "python", hidden = true }) function _TIG_TOGGLE() tig:toggle() end function _NODE_TOGGLE() node:toggle() end function _NCDU_TOGGLE() ncdu:toggle() end function _HTOP_TOGGLE() htop:toggle() end function _PYTHON_TOGGLE() python:toggle() end