Skip to content

Simple plugin to toggle a floating terminal window with customizable starting program

License

Notifications You must be signed in to change notification settings

Ernest1338/termplug.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Termplug.nvim

Simple neovim plugin to toggle a floating terminal window with customizable starting program



Screenshot 1

⚙️ Features

  • ~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)

📦 Installation

{ "Ernest1338/termplug.nvim" }
use "Ernest1338/termplug.nvim"
add("Ernest1338/termplug.nvim")

🚀 Usage

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>")

🔧 Configuration

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.

{ "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)

⚡ Requirements

  • Neovim >= v0.7.0

❔ Why

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.

About

Simple plugin to toggle a floating terminal window with customizable starting program

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages