toggleterm.nvim VS lazy.nvim

Compare toggleterm.nvim vs lazy.nvim and see what are their differences.

toggleterm.nvim

A neovim lua plugin to help easily manage multiple terminal windows (by akinsho)
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
toggleterm.nvim lazy.nvim
90 138
4,964 18,037
1.9% 2.6%
6.8 8.6
4 months ago 26 days ago
Lua Lua
GNU General Public License v3.0 only Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

toggleterm.nvim

Posts with mentions or reviews of toggleterm.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-06-24.
  • Ultimate Neovim Setup Guide: lazy.nvim Plugin Manager
    25 projects | dev.to | 24 Jun 2024
    akinsho/toggleterm.nvim: A neovim lua plugin to help easily manage multiple terminal windows.
  • Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
    17 projects | news.ycombinator.com | 31 Jan 2024
    As a data point, I'd like to chime in here. I have been a 15 year user of tmux (and screen before that) and never thought I'd change my development habits. Over the holidays I decided I would do one of those once-every-five-years upgrades to my vim setup as I had accrued dozens of vendored plugins in normal vim and wanted to see what the big deal with neovim was.

    I bit the bullet and evaluated some of the "distributions" (AstroNvim and kickstarter) and played around with all the new lua plugins that I had never thought I needed (why use telescope when FZF-vim worked so well?).

    Anyways, after a month of tweaking and absorbing, I found myself running Neovide only, and doing something I never thought I'd see, running tmux from within neovim/neovide. I think this only works (for me) because of session management (there are half a dozen plugins for handling quickly changing 'workspaces') and because the built-in terminal (with a very useful plugin called toggleterm: https://github.com/akinsho/toggleterm.nvim) works so well.

    I have not stopped using tmux and layouts, and it sits in another fullscreen iterm2 workspace, but I find that I now spend 90% of my time using a fullscreen neovide and summoning/toggling tmux momentarily for running commands.

    Of course, the caveat here is that my preferred mode of operation is being fullscreen as often as possible. I think if your preferred mode of operation is to always see splits then running neovim from the terminal within tmux is still the way to go.

    As for why I like neovide? I find the animations, when tweaked to be less 'cool' are extremely useful to see where the cursor jumps to. I am also a huge fan of the fact that I can finally use 'linespace' to put some space between my lines of code -- it is an aesthetic I didn't realize I wanted.

  • NeoVim Capability Functions
    4 projects | /r/neovim | 3 Nov 2023
    For splitting the terminal you could try either toggleterm or tmux. If you want to send things from one tmux pane to another, then you can use slime. For a toggle-able filetree, you can use nvim tree.
  • Is there any gotchas for using Neovim's built in terminal?
    1 project | /r/neovim | 21 Sep 2023
    I just found toggleterm which feels awesome. Pretty much exactly what I was looking for to use with Alacritty but even better since its integrated into the rest of my Neovim workflow.
  • How to unfloat a terminal in Lazyvim
    1 project | /r/neovim | 12 Sep 2023
    I saw this plugin that tells me how to do it, however I got confused after I added "require("toggleterm").setup({})" in the lazy.lua file and installed the package as well using the Lazy command
  • VSCode-like terminal setup
    1 project | /r/neovim | 23 Jul 2023
    I tried toggleterm but I wasn't successful.
  • Noobie Needs a Nudge
    7 projects | /r/neovim | 30 Jun 2023
    And I never really got into Gitsigns or vim-fugitive. Lots of people love them, so I'm sure they're great, but I'm happy opening a floating terminal with Toggleterm and using Lazygit.
  • Using Floaterm, what's the best way to toggle between the editor and opened window and maintain the shell session?
    2 projects | /r/neovim | 6 Jun 2023
    I agree with u/Bamseg, but you can get what you want using toggleterm.nvim BUT NOT IN FLOAT.
  • What do you use for git integration in neovim?
    8 projects | /r/neovim | 6 Jun 2023
    I use gitsigns for linewise operations (blame, reset, etc), and a floating terminal (toggleterm) for everything else. flatten.nvim also helps with nested nvim instances.
  • Switching from Emacs. My experience
    20 projects | /r/neovim | 24 May 2023
    but I ended up finding a good enough workaround by using Lazygit through Toggleterm.

lazy.nvim

Posts with mentions or reviews of lazy.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-03-09.
  • Exploring LLMs: A Blind Trial for Code Completions
    4 projects | dev.to | 9 Mar 2025
    I use Neovim daily; it is highly customizable and can be configured to meet my needs. The configuration samples shown use Lazy.nvim.
  • Neovim for beginners
    20 projects | dev.to | 30 Sep 2024
    -- Bootstrap lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then local lazyrepo = "https://github.com/folke/lazy.nvim.git" local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) if vim.v.shell_error ~= 0 then vim.api.nvim_echo({ { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, { out, "WarningMsg" }, { "\nPress any key to exit..." }, }, true, {}) vim.fn.getchar() os.exit(1) end end vim.opt.rtp:prepend(lazypath) -- Make sure to setup `mapleader` and `maplocalleader` before -- loading lazy.nvim so that mappings are correct. -- This is also a good place to setup other settings (vim.opt) vim.g.mapleader = " " vim.g.maplocalleader = "\\" -- Setup lazy.nvim require("lazy").setup({ spec = { -- All the plugins go here }, -- Configure any other settings here. See the documentation for more details. -- colorscheme that will be used when installing plugins. install = { missing = true, colorscheme = { "catppuccin-mocha" } }, -- automatically check for plugin updates checker = { enabled = true, notify = false }, }, { ui = { -- If you are using a Nerd Font: set icons to an empty table which will use the -- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table icons = vim.g.have_nerd_font and {} or { cmd = '⌘', config = '🛠', event = '📅', ft = '📂', init = '⚙', keys = '🗝', plugin = '🔌', runtime = '💻', require = '🌙', source = '📄', start = '🚀', task = '📌', lazy = '💤 ', }, }, })
  • So... I created yet another Neovim plugin
    5 projects | dev.to | 14 Sep 2024
    The plugin is inspired by Themery.nvim and Lazy.nvim, and it offers a simple way of managing and switching your colorschemes. Check out the Github Repository to learn more about Themify.
  • My Neovim setup for Mac for coding (in Go), writing and boosting your productivity in 2024
    5 projects | dev.to | 2 Aug 2024
    local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ { import = "charly3pins.plugins" }, { import = "charly3pins.plugins.lsp" } }, { change_detection = { notify = false, } })
  • Ultimate Neovim Setup Guide: lazy.nvim Plugin Manager
    25 projects | dev.to | 24 Jun 2024
    -- ~/nvim/lua/slydragonn/lazy.lua local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup("slydragonn.plugins")
  • How I grew my open-source project to 1k stars 🌟
    3 projects | dev.to | 16 Jun 2024
    For example, I am inspired a lot by the README of lazy.nvim. Learning from other's success is a good way to improve your project.
  • Multifunctional IDE using Neovim (1 of 3)
    6 projects | dev.to | 14 Jun 2024
    --init.lua local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath, }) end vim.opt.rtp:prepend(lazypath)
  • How to override the colors of NeoSolarized in NeoVim
    3 projects | dev.to | 21 Apr 2024
    First, I installed NeoSolarized.nvim via lazy.nvim, so the code would be simple like the following one.
  • Easy Access to Terminal Commands in Neovim using FTerm
    6 projects | dev.to | 18 Mar 2024
    In my case, I have switched to Lazy.nvim for all of my Neovim plugin needs ( Thanks again Folke! ), so it would be great if you were at least minimally familiar with how Lazy works as well.
  • Neovim: creating keymaps in lua
    4 projects | dev.to | 11 Mar 2024
    If you've read old tutorials about Neovim configuration you've find the way they create keymaps is a little bit different from what people do now. And if you check other people's configuration sometimes you'll find they create their keymaps using lazy.nvim. This is causing confusion among Neovim users.

What are some alternatives?

When comparing toggleterm.nvim and lazy.nvim you can also consider the following projects:

AstroNvim - AstroNvim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins

packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

vim-floaterm - :computer: Terminal manager for (neo)vim

neoterm - Wrapper of some vim/neovim's :terminal functions.

NvChad - Blazing fast Neovim framework providing solid defaults and a beautiful UI, enhancing your neovim experience.

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

Did you know that Lua is
the 18th most popular programming language
based on number of references?