An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# Floaterm

A beautiful toggleable floating window for managing terminal buffers within Neovim

![floaterm-with-border](https://github.com/user-attachments/assets/8a51aeff-dcc5-477f-a282-9b48a1e5bf2b)
![floaterm-noborder](https://github.com/user-attachments/assets/15e19849-69e6-432b-8fd9-7ffaad872e28)

## 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,
},
},
```