Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/2kabhishek/termim.nvim
Neovim Terminal, Improved π¦Ύπ»
https://github.com/2kabhishek/termim.nvim
neovim neovim-plugin productivity terminal utility vim
Last synced: 1 day ago
JSON representation
Neovim Terminal, Improved π¦Ύπ»
- Host: GitHub
- URL: https://github.com/2kabhishek/termim.nvim
- Owner: 2KAbhishek
- License: gpl-3.0
- Created: 2024-02-18T05:04:21.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-05-20T18:57:24.000Z (6 months ago)
- Last Synced: 2024-05-21T13:02:43.935Z (6 months ago)
- Topics: neovim, neovim-plugin, productivity, terminal, utility, vim
- Language: Lua
- Size: 356 KB
- Stars: 41
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
termim.nvim improves your default neovim terminal experience, keeping it super simple.
## β¨ Features
- Auto enter insert mode when opening terminal
- Cleans up unnecessary clutter from terminal UI
- Auto closes terminal once process exits
- Terminals do not mess with your buffer list
- Handy commands to access full screen and split terminals
- Extend commands with any program of your choice## β‘ Setup
### βοΈ Requirements
- neovim
### π» Installation
Add the following to your lazy/packer config
```lua
-- Lazy
{
'2kabhishek/termim.nvim',
cmd = { 'Fterm', 'FTerm', 'Sterm', 'STerm', 'Vterm', 'VTerm' },
},-- Packer
use '2kabhishek/termim.nvim'
```## π Usage
### π‘ Commands
`termim.nvim` adds the following commands:
- `Fterm`: open terminal in new tab
- `FTerm`: same as Fterm but stays open after process exits
- `Sterm`: open terminal in new horizontal split
- `STerm`: same as Sterm but stays open after process exits
- `Vterm`: open terminal in new vertical split
- `VTerm`: same as Vterm but stays open after process exitsAll the commands accept optional command as arg, if command is missing, your default shell will run
- `Fterm lazygit`: will open lazygit in a new tab
### β¨οΈ Mappings
`termim.nvim` adds the following mappings:
- J J β Return to normal mode in terminals, remap for ``
#### Recommended which-key Mappings
Other than the standard commands, you can use which-key to create your own commands.
```lua
t = {
name = 'Terminal',
['`'] = { 'Sterm', 'Horizontal Terminal' },
e = { 'Sterm iex', 'Elixir' },
g = { 'Fterm lazygit', 'Lazygit' },
n = { 'Sterm node', 'Node' },
p = { 'Sterm bpython', 'Python' },
r = { 'Sterm irb', 'Ruby' },
s = { 'Sterm', 'Horizontal Terminal' },
t = { 'Fterm', 'Terminal' },
v = { 'Vterm', 'Vertical Terminal' },
},
```## ποΈ What's Next
You tell me!
## π§βπ» Behind The Code
### π Inspiration
Most terminal plugins offer a lot more than I needed, whereas I needed some small enhancements of the default neovim terminal experience.
### π‘ Challenges/Learnings
- Figuring out some autogroup and buffer related APIs
### π§° Tooling
- [dots2k](https://github.com/2kabhishek/dots2k) β Dev Environment
- [mac2k](https://github.com/2kabhishek/mac2k) β Mac Dev Environment
- [nvim2k](https://github.com/2kabhishek/nvim2k) β Personalized Editor### π More Info
- [tdo.nvim](https://github.com/2kabhishek/tdo.nvim) β Fast and simple note-taking in neovim
- [co-author.nvim](https://github.com/2kabhishek/co-author.nvim) β Search and add git co authors
- [nerdy.nvim](https://github.com/2kabhishek/nerdy.nvim) β Search and add nerd glyphs
β hit the star button if you found this useful β
Source
| Blog
| More Links
| Other Projects