Terminal plugin to open/toggle the terminals in Neovim
demo.mp4packer
use { 's1n7ax/nvim-terminal', config = function() vim.o.hidden = true require('nvim-terminal').setup() end, }
leader + ; - Toggle open/close terminal
leader + 1 - Open terminal 1
leader + 2 - Open terminal 2
leader + 3 - Open terminal 3
leader + 4 - Open terminal 4
leader + 5 - Open terminal 5
leader + + - Increase window height
leader + - - Decrease window height
leader + leader + + - Increase window width
leader + leader + - - Decrease window width
Simply pass the custom configuration to setup
method
-- following option will hide the buffer when it is closed instead of deleting -- the buffer. This is important to reuse the last terminal buffer -- IF the option is not set, plugin will open a new terminal every single time vim.o.hidden = true require('nvim-terminal').setup({ window = { -- Do `:h :botright` for more information -- NOTE: width or height may not be applied in some "pos" position = 'botright', -- Do `:h split` for more information split = 'sp', -- Width of the terminal width = 50, -- Height of the terminal height = 15, }, -- keymap to disable all the default keymaps disable_default_keymaps = false, -- keymap to toggle open and close terminal window toggle_keymap = '<leader>;', -- increase the window height by when you hit the keymap window_height_change_amount = 2, -- increase the window width by when you hit the keymap window_width_change_amount = 2, -- keymap to increase the window width increase_width_keymap = '<leader><leader>+', -- keymap to decrease the window width decrease_width_keymap = '<leader><leader>-', -- keymap to increase the window height increase_height_keymap = '<leader>+', -- keymap to decrease the window height decrease_height_keymap = '<leader>-', terminals = { -- keymaps to open nth terminal {keymap = '<leader>1'}, {keymap = '<leader>2'}, {keymap = '<leader>3'}, {keymap = '<leader>4'}, {keymap = '<leader>5'}, }, })
nvim-terminal
adds a global variable called NTGlobal
. When you call require('nvim-terminal').setup()
it adds terminal
and window
properties to NTGlobal
vim.api.nvim_set_keymap('n', '<leader>t', ':lua NTGlobal["terminal"]:toggle()<cr>', silent) vim.api.nvim_set_keymap('n', '<leader>1', ':lua NTGlobal["terminal"]:open(1)<cr>', silent) vim.api.nvim_set_keymap('n', '<leader>+', ':lua NTGlobal["window"]:change_height(2)<cr>', silent) vim.api.nvim_set_keymap('n', '<leader>-', ':lua NTGlobal["window"]:change_height(-2)<cr>', silent)
terminal = require('nvim-terminal').DefaultTerminal; local silent = { silent = true } vim.api.nvim_set_keymap('n', '<leader>t', ':lua terminal:toggle()<cr>', silent) vim.api.nvim_set_keymap('n', '<leader>1', ':lua terminal:open(1)<cr>', silent) vim.api.nvim_set_keymap('n', '<leader>2', ':lua terminal:open(2)<cr>', silent) vim.api.nvim_set_keymap('n', '<leader>3', ':lua terminal:open(3)<cr>', silent)
local Terminal = require('nvim-terminal.terminal') local Window = require('nvim-terminal.window') local window = Window:new({ position = 'botright', split = 'sp', width = 50, height = 15 }) terminal = Terminal:new(window)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4