Home

Awesome

Buffer Term

Manage terminal buffers and toggle them easily!

Features

Setup

Using Packer:

use 'caenrique/buffer-term.nvim'

Default config

require('buffer-term').setup({
  terminal_options = {
      start_insert = true,
      buf_listed = false,
      no_numbers = true,
  }
})

Example usage

Use it by setting some keymaps. For example the letters in the home row for your left hand:

local buffer_term = require('buffer-term')

buffer_term.setup() -- default config

vim.keymap.set('t', '<Esc>', '<C-\\><C-n>')
vim.keymap.set({ 'n', 't' }, ';a', function() buffer_term.toggle('a') end)
vim.keymap.set({ 'n', 't' }, ';s', function() buffer_term.toggle('s') end)
vim.keymap.set({ 'n', 't' }, ';d', function() buffer_term.toggle('d') end)
vim.keymap.set({ 'n', 't' }, ';f', function() buffer_term.toggle('f') end)
vim.keymap.set({ 'n', 't' }, '<c-;>', buffer_term.toggle_last)

Terminal defaults

By default, these options are set for all terminal buffers using the TermOpen event:

vim.wo.number = false
vim.wo.relativenumber = false
vim.wo.numberwidth = 1
vim.wo.signcolumn = 'no'
vim.bo.modified = false

If you don't want any configuration applied set configure_terminal = false in the setup function.

Roadmap

This is a personal project. I created it to use it myself and to fulfill my needs. Feel free to add issues or pull requests about bugfixes, but I won't add any features that I don't see myself using.

Non goals