https://github.com/nvzone/floaterm
Beautiful floating terminal manager for Neovim
https://github.com/nvzone/floaterm
lua neovim neovim-plugin nvchad nvzone rice volt
Last synced: 17 days ago
JSON representation
Beautiful floating terminal manager for Neovim
- Host: GitHub
- URL: https://github.com/nvzone/floaterm
- Owner: nvzone
- License: gpl-3.0
- Created: 2025-06-09T14:57:01.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-09-22T07:12:28.000Z (8 months ago)
- Last Synced: 2025-09-22T08:32:56.134Z (8 months ago)
- Topics: lua, neovim, neovim-plugin, nvchad, nvzone, rice, volt
- Language: Lua
- Homepage:
- Size: 55.7 KB
- Stars: 249
- Watchers: 3
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Floaterm
A beautiful toggleable floating window for managing terminal buffers within Neovim


## Install
```lua
{
"nvzone/floaterm",
dependencies = "nvzone/volt",
opts = {},
cmd = "FloatermToggle",
}
```
## Default config
```lua
{
border = false,
size = { h = 60, w = 70 },
-- to use, make this func(buf)
mappings = { sidebar = nil, term = nil},
-- Default sets of terminals you'd like to open
terminals = {
{ name = "Terminal" },
-- cmd can be function too
{ name = "Terminal", cmd = "neofetch" },
-- More terminals
},
}
```
## Mappings
This are the mappings for sidebar
- a -> add new terminal
- e -> edit terminal name
- Pressing any number within sidebar will switch to that terminal
Must be pressed in main terminal buffer
- Ctrl + h -> Switch to sidebar
- Ctrl + j -> Cycle to prev terminal
- Ctrl + k -> Cycle to next terminal
Add new mapping
```lua
{
mappings = {
term = function(buf)
vim.keymap.set({ "n", "t" }, "", function()
require("floaterm.api").cycle_term_bufs "prev"
end, { buffer = buf })
end,
},
},
```