Home

Awesome

<h1 align='center'>Better Term</h1> <h4 align='center'>🔥 The improved vscode terminal for Neovim written in pure lua 🔥</h4>

https://user-images.githubusercontent.com/34254373/196014979-fdf2f741-1b72-4810-9e85-2b2cbe5287f6.mp4

Introduction

I like the concept of vscode terminal, if you are like me, this complement will be the best of your options. Normally I like to stay inside the editor, if I can make coffee in the editor, believe me I would do it. So having an integrated terminal is the most sensible option, however I tried for a long time to use the integrated terminal of neovim and I didn't get used to write so much to do what I wanted, so I tried and tried plugins, which were not for me, I just wanted something simple and usable, without so many complications. Then as other times I started to program and from that Saturday afternoon came out this plugin. I hope you enjoy it and make all your PR's.

By the way, it's called betterTerm, because it's the best for me. But for you it could very well suck.

https://user-images.githubusercontent.com/34254373/196015142-39895e93-eacd-4c48-9246-f4b7c6fbf076.mp4

Requirements

Install

use { 'CRAG666/betterTerm.nvim' }
{
  "CRAG666/betterTerm.nvim",
  opts = {
    position = "bot",
    size = 15,
  },
}

Quick start

Add the following line to your init.lua(If not use Lazy)

require('betterTerm').setup()

Features

Functions

Recommended keymaps

No keymaps is assigned by default.It is better that you do it yourself, I will show my preferred keymaps:

local betterTerm = require('betterTerm')
-- toggle firts term
vim.keymap.set({"n", "t"}, "<C-;>", betterTerm.open, { desc = "Open terminal"})
-- Select term focus
vim.keymap.set({"n"}, "<leader>tt", betterTerm.select, { desc = "Select terminal"})
-- Create new term
local current = 2
vim.keymap.set(
    {"n"}, "<leader>tn",
    function()
        betterTerm.open(current)
        current = current + 1
    end,
    { desc = "New terminal"}
)

Options

Setup

-- this is a config example
require('betterTerm').setup {
  prefix = "CRAG_",
  startInserted = false,
  position = "bot",
  size = 25
}

Default values

require('betterTerm').setup {
  prefix = "Term_",
  startInserted = true,
  position = "bot",
  size = 18
}

Integration with code_runner.nvim, see for more info.

Contributing

Your help is needed to make this plugin the best of its kind, be free to contribute, criticize (don't be soft) or contribute ideas. All PR's are welcome.

:warning: Important!

If you have any ideas to improve this project, do not hesitate to make a request, if problems arise, try to solve them and publish them. Don't be so picky I did this in one afternoon