31 lines
1.3 KiB
Lua
31 lines
1.3 KiB
Lua
function _G.set_terminal_keymaps()
|
|
local opts = { noremap = true }
|
|
vim.api.nvim_buf_set_keymap(0, 't', '<esc>', [[<C-\><C-n>]], opts)
|
|
vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[<C-\><C-n>]], opts)
|
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-h>', [[<C-\><C-n><C-W>h]], opts)
|
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-j>', [[<C-\><C-n><C-W>j]], opts)
|
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-k>', [[<C-\><C-n><C-W>k]], opts)
|
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-l>', [[<C-\><C-n><C-W>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 {
|
|
['<leader>t'] = {
|
|
name = "[T]erminal",
|
|
p = { "<cmd>lua _PYTHON_TOGGLE()<cr>", "Python" }, -- Python Terminal
|
|
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" }, -- Floating Terminal
|
|
|
|
-- Play with size according to your needs.
|
|
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" }, -- Horizontal Terminal,
|
|
v = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", "Vertical" }, -- Vertical Terminal
|
|
},
|
|
}
|