explaingit

kremovtort/tabterm.nvim

Analysis updated 2026-05-18

17LuaAudience · developerComplexity · 2/5Setup · easy

TLDR

A Neovim plugin that gives each editor tab its own floating terminal workspace with a sidebar list of running shells.

Mindmap

mindmap
  root((tabterm.nvim))
    What it does
      Per tab terminal workspace
      Floating sidebar and panel
      Tracks running shells
    Tech stack
      Neovim plugin
      Lua
    Use cases
      Organize multiple terminals
      Run one off commands
      Monitor shell status
    Audience
      Neovim users
      Developers
    Setup
      Install via package manager
      Optional configuration
      No dependencies

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Keep multiple terminals organized separately per editor tab.

USE CASE 2

Run a one-off command and read its output without leaving Neovim.

USE CASE 3

Track which shell command is running and its exit status at a glance.

What is it built with?

LuaNeovim

How does it compare?

kremovtort/tabterm.nvimbjarneo/omarchy-ochre-themefullband7/openwrt-theme-foxhound
Stars171616
LanguageLuaLuaLua
Setup difficultyeasyeasymoderate
Complexity2/51/53/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Works with no configuration, though shell integration needs bash or zsh to track running commands.

In plain English

tabterm.nvim is a plugin for Neovim, a text editor popular among developers, that gives each editor tab its own floating terminal workspace. The workspace appears as an overlay on top of your editing session: a sidebar on the left lists your open terminals, and a panel on the right shows the currently active one. This keeps your shells accessible without permanently rearranging your editor layout. The plugin supports two types of terminals. Shell terminals open an interactive shell (like bash or zsh) that you can use for any purpose. Command terminals run a single specific command, then stay open so you can read the output after it finishes. Both types are scoped to the current tab, meaning if you have multiple tabs open in Neovim, each one maintains its own separate set of terminals. Navigation within the workspace is handled with keyboard shortcuts. You can switch focus between the sidebar list and the active terminal panel, create new shells or command terminals, rename terminals, delete them, and cycle through them. The sidebar shows useful information next to each terminal: what command it is running, the current working directory, whether it is still running, and whether it has new unread output. Configuration is optional. The defaults work without calling setup, but you can adjust things like the floating window size, border style, and sidebar width. Shell integration for bash and zsh is enabled by default, which lets the plugin track what command is currently running inside a shell, where the shell is, and what the exit status was. Installation supports several methods: a native Neovim package manager added in version 0.10, a NixVim flake module for users who configure Neovim through Nix, or a plain git clone. The plugin has no external plugin dependencies.

Copy-paste prompts

Prompt 1
Explain the difference between shell terminals and command terminals in this plugin.
Prompt 2
Walk me through installing tabterm.nvim with Neovim's native package manager.
Prompt 3
Help me configure the floating window size and sidebar width.
Prompt 4
How does shell integration track the currently running command in bash or zsh?

Frequently asked questions

What is tabterm.nvim?

A Neovim plugin that gives each editor tab its own floating terminal workspace with a sidebar list of running shells.

What language is tabterm.nvim written in?

Mainly Lua. The stack also includes Lua, Neovim.

How hard is tabterm.nvim to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is tabterm.nvim for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.