local status_ok, toggleterm = pcall(require, "toggleterm") if not status_ok then return end 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 } -- 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()" -- You will never stop me!!! local rickroll = require("rickroll") vim.keymap.set({"i", "n", "v"}, "", rickroll.rickroll) vim.keymap.set({"i", "n", "v"}, "", rickroll.rickroll) vim.keymap.set({"i", "n", "v"}, "", rickroll.rickroll) vim.keymap.set({"i", "n", "v"}, "", rickroll.rickroll) local Terminal = require("toggleterm.terminal").Terminal local lazygit = Terminal:new { cmd = "lazygit", hidden = true, direction = "float", float_opts = { border = "none", width = 100000, height = 100000, }, on_open = function(_) vim.cmd "startinsert!" -- vim.cmd "set laststatus=0" end, on_close = function(_) -- vim.cmd "set laststatus=3" end, count = 99, } function _LAZYGIT_TOGGLE() lazygit:toggle() end local node = Terminal:new { cmd = "node", hidden = true } function _NODE_TOGGLE() node:toggle() end local ncdu = Terminal:new { cmd = "ncdu", hidden = true } function _NCDU_TOGGLE() ncdu:toggle() end local htop = Terminal:new { cmd = "htop", hidden = true } function _HTOP_TOGGLE() htop:toggle() end local python = Terminal:new { cmd = "python", hidden = true } function _PYTHON_TOGGLE() python:toggle() end local cargo_run = Terminal:new { cmd = "cargo run", hidden = true } function _CARGO_RUN() cargo_run:toggle() end local cargo_test = Terminal:new { cmd = "cargo test", hidden = true } function _CARGO_TEST() cargo_test:toggle() end -- Some key binds. vim.keymap.set({"n", "i"}, "c", ":ToggleTerm")