This neovim plugin allows you to easily send lines from the current buffer to another kitty terminal. I use it mostly as a poor man's REPL, e.g. I start ipython in the kitty terminal and send buffer lines to it.
This plugin is inspired by and heavily borrows from vim-kitty-runner.
If you run into trouble using the plugin or have suggestions for improvements, do open an issue! :)
The plugin implements the following commands:
:KittyOpenRunner
: Open a new kitty terminal (called a runner in the context of this plugin):KittySendLines
: Send the line at the current cursor position or the lines of current visual selection:KittyRunCommand
: Prompt for a command and send it:KittyReRunCommand
: Send the last command:KittyClearRunner
: Clear the runner's screen:KittyKillRunner
: Kill the runner
By default a number of keymaps are created (see below to turn this off):
<leader>to
::KittyOpenRunner
<leader>tr
::KittyRunCommand
<leader>ts
::KittySendLines
<leader>tc
::KittyClearRunner
<leader>tk
::KittyKillRunner
<leader>tl
::KittyReRunCommand
With packer:
use {
'jghauser/kitty-runner.nvim',
config = function()
require('kitty-runner').setup()
end
}
The setup function allows adjusting various settings. By default it sets the following:
require('kitty-runner').setup({
runner_name = 'kitty-runner-' .. uuid, -- name of the kitty terminal
run_cmd = {'send-text'}, -- kitty arguments when sending lines/command
kill_cmd = {'close-window'}, -- kitty arguments when killing a runner
use_keymaps = true, -- use default keymaps
kitty_port = 'unix:/tmp/kitty-' .. uuid, -- the port used to communicate with the kitty terminal
})