awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
akinsho avatar

akinsho/toggleterm.nvim

0
View on GitHub↗
5,530 stars·205 forks·Lua·GPL-3.0·17 views

Toggleterm.nvim

toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor.

The plugin distinguishes itself by offering a floating terminal interface and the ability to define custom terminal classes. These classes allow for specialized instances with dedicated commands and environment variables, while named terminal selection enables users to focus specific sessions using descriptive labels rather than numeric identifiers.

The project covers workspace layout configuration, allowing terminals to be oriented as floating windows, vertical splits, or tabs. It includes capabilities for session control, such as transferring text from editor buffers directly into active terminals, executing targeted shell commands, and performing bulk operations to manage multiple active sessions.

Features

  • Neovim Plugins - Provides a comprehensive terminal management system as a Neovim plugin.
  • Terminal Session Managers - Provides a system for opening, hiding, and organizing multiple persistent terminal windows within the editor.
  • Terminal Managers - Acts as a specialized manager for opening, hiding, and organizing multiple persistent terminal windows within Neovim.
  • Shell Command Execution - Allows running specific scripts or commands in a designated terminal while managing working directories.
  • Terminal Buffer Injections - Sends selected lines of code or text from an editor buffer directly into a running terminal for immediate execution.
  • Terminal Buffer Integrations - Wraps native Neovim terminal buffers to manage lifecycle events and window placement logic.
  • Custom Terminal Classes - Enables defining specialized terminal instances with dedicated commands and environment variables for tool-specific workflows.
  • Floating Terminal Toggles - Displays terminal sessions as floating windows that can be toggled to maintain a focused coding environment.
  • Terminal Orchestrators - Orchestrates the naming, selection, and text-transfer capabilities across multiple shell instances.
  • Shell Session Persistence - Runs shell commands and scripts while maintaining a persistent session for long-running tasks.
  • Session Management Identifiers - Associates unique numeric IDs with descriptive names to target and focus specific terminal sessions.
  • Editor-to-Terminal Pipes - Transfers text from the current editor buffer to the terminal input stream using native APIs.
  • Editor Workspace Managers - Arranges floating windows, vertical splits, and tabs to balance code editing with real-time command line output.
  • Bulk Operations - Provides the ability to open or close all active terminals simultaneously.
  • Named Selection - Allows assigning descriptive names to instances to focus specific terminals via a selection interface.
  • Session Labeling - Allows assigning descriptive names to terminal identifiers for identification within the window bar or selection menu.
  • Command Dispatching - Maps user-defined labels to specific shell commands for targeted session execution within the editor.
  • Terminal Session Persisters - Enables opening, hiding, and restoring terminal windows while maintaining the current session state.
  • Shell Integration - Supports connecting the interface to system shells by configuring execution flags and encoding settings.
  • Tooling Integrations - Connects specialized CLI tools to the editor environment with dedicated configurations for project tasks.
  • Terminal Workspace Layouts - Organizes the workspace by setting display orientations as floating windows, vertical splits, or tabs.
  • Floating Content Windows - Calculates screen real estate to spawn terminal buffers as floating windows, vertical splits, or tabs.
  • Targeted Execution - Supports executing shell commands in a specific target terminal while defining the working directory and window size.
  • Terminal Integration - Manages multiple terminal windows within the editor.

Star history

Star history chart for akinsho/toggleterm.nvimStar history chart for akinsho/toggleterm.nvim

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Toggleterm.nvim

Similar open-source projects, ranked by how many features they share with Toggleterm.nvim.
  • skim-rs/skimskim-rs avatar

    skim-rs/skim

    6,592View on GitHub↗

    Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel

    Rustfuzzyfinderrustskim
    View on GitHub↗6,592
  • tmux-python/tmuxptmux-python avatar

    tmux-python/tmuxp

    4,522View on GitHub↗

    tmuxp is a tmux session manager and declarative workspace orchestrator that automates the creation and organization of sessions, windows, and panes. It functions as a libtmux automation wrapper, allowing users to define complex terminal layouts and initial shell commands using YAML or JSON configuration files. The project distinguishes itself as a terminal layout snapshot tool capable of capturing the state of a running session and saving it as a reproducible configuration. It further supports terminal workflow automation by executing bootstrap tasks and startup scripts to prepare environment

    Pythonclicli-utilitiesjson
    View on GitHub↗4,522
  • theprimeagen/harpoonThePrimeagen avatar

    ThePrimeagen/harpoon

    8,898View on GitHub↗

    This project is a Neovim file navigation plugin and workspace manager that allows users to mark and jump between frequent files. It functions as a system for organizing high-priority files into specific layouts and window splits, utilizing a persistent list and index-based shortcuts to streamline movement across a project. The tool includes a terminal session integrator that bridges the editor with a terminal multiplexer. This integration enables the orchestration of windows and panes, allowing users to switch between development shells and coding sessions or manage terminal instances by inde

    Lua
    View on GitHub↗8,898
  • folke/snacks.nvimfolke avatar

    folke/snacks.nvim

    7,747View on GitHub↗

    snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface

    Lua
    View on GitHub↗7,747
See all 30 alternatives to Toggleterm.nvim→

Frequently asked questions

What does akinsho/toggleterm.nvim do?

toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor.

What are the main features of akinsho/toggleterm.nvim?

The main features of akinsho/toggleterm.nvim are: Neovim Plugins, Terminal Session Managers, Terminal Managers, Shell Command Execution, Terminal Buffer Injections, Terminal Buffer Integrations, Custom Terminal Classes, Floating Terminal Toggles.

What are some open-source alternatives to akinsho/toggleterm.nvim?

Open-source alternatives to akinsho/toggleterm.nvim include: skim-rs/skim — Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and… tmux-python/tmuxp — tmuxp is a tmux session manager and declarative workspace orchestrator that automates the creation and organization of… theprimeagen/harpoon — This project is a Neovim file navigation plugin and workspace manager that allows users to mark and jump between… folke/snacks.nvim — snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core… folke/noice.nvim — noice.nvim is a Neovim UI enhancement plugin that replaces the editor's default command-line, notification, and… zellij-org/zellij — Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent,…