- ~0ms load time
- <100 lines of Lua
- simple to setup and customize
This plugin exposes to the user only one function:
- toggle("optional: process_name") - opens (toggles) terminal window with given process (opens
bash
by default)
- With folke/lazy.nvim
{ "Ernest1338/termplug.nvim" }
use "Ernest1338/termplug.nvim"
add("Ernest1338/termplug.nvim")
Firstly, call the setup
function with optional config (see configuration options below):
require("termplug").setup()
In your init.lua, set the mapping to toggle a terminal window:
vim.keymap.set({ "n", "t" }, "<A-i>", "<cmd> Term <CR>")
If you want to toggle different process, eg. lazygit use:
vim.keymap.set({ "n", "t" }, "<C-g>", "<cmd> Term lazygit <CR>")
There are only two configuration options: size
and shell
.
size
controlls how big will be the popup window. Takes values from 0.0
to 1.0
(defaults to 0.9).
shell
controls which default shell to open (bash, zsh, tmux, etc.) when no arguments are passed to :Term
(defaults to bash
)
Set the size value to 1
for a full screen terminal popup.
- For folke/lazy.nvim
{ "Ernest1338/termplug.nvim", config = { size = 0.5, shell = "zsh" } },
use {
"Ernest1338/termplug.nvim",
config = function()
require("termplug").setup{ size = 0.5, shell = "tmux" }
end
}
later(function()
add("Ernest1338/termplug.nvim")
require("termplug").setup({ size = 0.5, shell = "fish" })
end)
- Neovim >= v0.7.0
Because I wanted a simple plugin to toggle a popup terminal window with a mapping and every existing terminal plugins seem over complicated.
Combined with the ability to choose which process to execute, this plugin became not only a terminal plugin but it can also toggle a popup window with any TUI application of your choosing.
For simplicity, it supports toggling only one of each process (one bash, one lazygit, ...) at a time.