termwrapper.nvim
termwrapper.nvim copied to clipboard
lua wrapper for neovim terminal
termwrapper.nvim
note: This plugin is in heavy development. Expect breaking changes. Also, this plugin support Neovim 0.5 only
termwrapper.nvim is a wrapper for neovim's terminal features to make them more user friendly.
Features
- toggle the terminal without losing any of the commands running in the terminal
- toggling the terminal will keep the size
- send commands to terminal
- auto exit terminal when running
exit
(no[Process exited 0]
messages and then having to press a key to quit) - auto insert when creating the terminal
- good defaults
- written in lua
Installation
vim-plug
Plug 'oberblastmeister/termwrapper.nvim'
packer.nvim
use 'oberblastmeister/termwrapper.nvim'
Usage
Run:
require"termwrapper".setup {
-- these are all of the defaults
open_autoinsert = true, -- autoinsert when opening
toggle_autoinsert = true, -- autoinsert when toggling
autoclose = true, -- autoclose, (no [Process exited 0])
winenter_autoinsert = false, -- autoinsert when entering the window
default_window_command = "belowright 13split", -- the default window command to run when none is specified,
-- opens a window in the bottom
open_new_toggle = true, -- open a new terminal if the toggle target does not exist
log = 1, -- 1 = warning, 2 = info, 3 = debug
}
Integrations
You can use termwrapper to run your tests with vim-test like this
let g:test#custom_strategies = {'termwrapper': function('TermWrapperStrategy')}
let g:test#strategy = 'termwrapper'
Commands
-
T
: create a new termwrapper -
Ttoggle
: toggle the termwrapper -
TsendLine
: send the current line to the termwrapper -
Tsend
: send argument to the terminal -
TsendLineAdvance
: same asTsendLine
but goes to the next non-empty line in the file