multinput.nvim#
An attempt at creating a vim.ui.input that wraps its context in an auto-resizing buffer.
Installation#
Install multinput.nvim using your favorite plugin manager.
{
'r0nsha/multinput.nvim',
opts = {
-- Your custom configuration goes here
}
}
use({
'r0nsha/multinput.nvim',
config = function()
require('multinput').setup({
-- Your custom configuration goes here
})
end
})
Configuration#
Here are the default configuration options:
require('multinput').setup({
opts = {
numbers = "multiline", -- "always" | "multiline" | "never"
-- "always" will always show line numbers
-- "multiline" will only show line numbers if the buffer's height is > 1
-- "never" will never show line numbers
},
padding = 5, -- How much padding will be added to the end of the buffer
width = { min = 20, max = 60 }, -- Controls the width limits of the buffer
height = { min = 1, max = 6 }, -- Controls the height limits of the buffer
win = {
title = "Input: ",
style = "minimal",
focusable = true,
relative = "cursor",
col = -1,
height = 1,
},
})
Mappings#
| Mode | Key | Description |
|---|---|---|
| n, i, v | <cr> |
Confirms the input |
| i | <a-cr> |
Inserts a newline in normal mode |
| n | <esc>/q |
Closes the buffer |
Contributing#
Contributions are always welcome! I'm no neovim expert, so if you find a bug or have a feature request, you're welcome to open an issue or submit a pull request.