SkillAgentSearch skills...

Neoterm.nvim

Neovim lua plugin for managing a floating terminal window

Install / Use

/learn @itmecho/Neoterm.nvim
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align = "center"> <h1>Neoterm.nvim</h1> <p align="center"> <img src="https://img.shields.io/github/stars/itmecho/neoterm.nvim?style=flat-square&color=yellow" alt="Stars"> <img src="https://img.shields.io/github/forks/itmecho/neoterm.nvim?style=flat-square" alt="Forks"> <img src="https://img.shields.io/github/contributors/itmecho/neoterm.nvim?style=flat-square&color=pink" alt="Contributors"> <img src="https://img.shields.io/github/license/itmecho/neoterm.nvim?style=flat-square" alt="License"> </p> <h4>Simple floating terminal plugin for neovim written in Lua.</h4>

title

</div>

⚡ Installation

Requires neovim 0.7+ for access to the Lua Autocmd API.

lazy.nvim

{
    'itmecho/neoterm.nvim',
}

packer.nvim

use {
  'itmecho/neoterm.nvim',
}

💡 Usage

Neoterm provides both vim commands as well as a Lua API.

Configuration

The following functions are available on the neoterm module. They map directly to the commands above

-- Setup global config
require('neoterm').setup({
  clear_on_run = true, -- Run clear command before user specified commands
  position = 'right',  -- Position of the terminal window: fullscreen (0), top (1), right (2), bottom (3), left (4), center (5) (string or integer value)
  noinsert = false,    -- Disable entering insert mode when opening the neoterm window
  width = 0.5,         -- Width of the terminal window (percentage, ratio, or range between 0-1)
  height = 1,          -- Height of the terminal window (percentage, ratio, or range between 0-1)
})

local neoterm = require('neoterm')

neoterm.open()
-- Override global config on a specific open call
neoterm.open({ position = 'bottom', noinsert = true, width = 0.7, height = 0.3 })
neoterm.close()
neoterm.toggle()
neoterm.run('ls')
-- Control whether or not the screen is cleared before running the command
neoterm.run('ls', {clear = false})
neoterm.rerun()
neoterm.exit()

Deprecation Notice

[!WARNING] The mode option is deprecated. Please use the new position option instead.

Migration Guide

  • mode = verticalposition = right

  • mode = horizontalposition = bottom

  • mode = fullscreenposition = fullscreen

Commands

Neoterm provides the following commands

| Command | Description | | -------------------- | -------------------------------------------------------------------------------------- | | NeotermOpen | Open the neoterm window | | NeotermClose | Close the neoterm window | | NeotermToggle | Toggle the neoterm window | | NeotermRun <args> | Run the given command in the neoterm window | | NeotermRerun | Run the previous command again | | NeotermExit | Close the neoterm window and delete the terminal buffer |

Example Vim Keybindings

nnoremap <leader>tt <cmd>NeotermToggle<CR>
nnoremap <leader>tr :NeotermRun<space>
nnoremap <leader>tR <cmd>NeotermRerun<CR>
nnoremap <leader>tx <cmd>NeotermExit<CR>
tnoremap <leader>tn <C-\\><C-n>
tnoremap <leader>tt <cmd>NeotermToggle<CR>
tnoremap <leader>tx <cmd>NeotermExit<CR>

🔍 Screenshots

right

require('neoterm').open()
-- or
require('neoterm').open({ position = 'right' })
-- or
require('neoterm').open({ position = 2 })

position-right

top

require('neoterm').open({ position = 'top', height = 0.6 })

position-top

bottom

require('neoterm').open({ position = 'bottom' })
--or
require('neoterm').open({ position = 3 })

position-bottom

left

require('neoterm').open({ position = 'left', width = 0.3 })
-- or
require('neoterm').open({ position = 4 })

position-left

Contributors

Thanks to all contributors!

<a href="https://github.com/itmecho/neoterm.nvim/graphs/contributors"> <img src="https://contrib.rocks/image?repo=itmecho/neoterm.nvim" /> </a>
View on GitHub
GitHub Stars40
CategoryDevelopment
Updated2mo ago
Forks4

Languages

Lua

Security Score

90/100

Audited on Jan 13, 2026

No findings