Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Ohmyzsh | 156,948 | 1 | 3 | 16 hours ago | 1 | December 07, 2014 | 636 | mit | Shell | |
🙃 A delightful community-driven (with 2,100+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community. | ||||||||||
.tmux | 18,467 | 23 days ago | 35 | mit | ||||||
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️ | ||||||||||
Nnn | 16,026 | 15 hours ago | 20 | July 26, 2022 | 5 | bsd-2-clause | C | |||
n³ The unorthodox terminal file manager | ||||||||||
Wechatplugin Macos | 13,148 | 8 days ago | 135 | mit | Objective-C | |||||
微信小助手 | ||||||||||
Gateone | 6,181 | 12 days ago | 367 | other | JavaScript | |||||
Gate One is an HTML5-powered terminal emulator and SSH client | ||||||||||
Oh My Bash | 3,970 | a day ago | 98 | mit | Shell | |||||
A delightful community-driven framework for managing your bash configuration, and an auto-update tool so that makes it easy to keep up with the latest updates from the community. | ||||||||||
Toggleterm.nvim | 2,395 | 3 days ago | 26 | gpl-3.0 | Lua | |||||
A neovim lua plugin to help easily manage multiple terminal windows | ||||||||||
Cdto | 2,037 | a year ago | 16 | mit | Objective-C | |||||
Finder Toolbar app to open the current directory in the Terminal | ||||||||||
Terminal In React | 1,966 | 31 | 10 | 9 months ago | 49 | February 23, 2019 | 43 | mit | JavaScript | |
👨💻 A component that renders a terminal | ||||||||||
Zsh Vi Mode | 1,777 | 12 days ago | 1 | April 14, 2021 | 73 | mit | Shell | |||
💻 A better and friendly vi(vim) mode plugin for ZSH. |
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.
use { 'CRAG666/betterTerm.nvim' }
require "paq"{'CRAG666/betterTerm.nvim';}
Add the following line to your init.lua
require('betterTerm').setup()
:lua require("config.betterTerm").open(num)
- Show or hide a specific terminal(num: terminal id).:lua require("config.betterTerm").send(cmd, num, press)
- Send a command to a specific terminal(cmd: command, num: terminal id, press: Press clean and/or interrupt).:lua require("config.betterTerm").select()
-Select any terminal.Whether you want to show or hide(use: vim.ui.select as backend).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", "t"}, "<leader>tt", betterTerm.select, { desc = "Select terminal"})
-- Create new term
local current = 2
vim.keymap.set(
{"n", "t"}, "<leader>tn",
function()
betterTerm.open(current)
current = current + 1
end,
{ desc = "New terminal"}
)
prefix
: It is used to create the names and a autocmd(default: Term_
).startInserted
: Should the terminal be in insert mode when opened(default: true
)position
: Integrated terminal position(for option :h opening-window
, default: bot
)size
: Size of the terminal window (default: 18
)-- this is a config example
require('betterTerm').setup {
prefix = "CRAG_",
startInserted = false,
position = "bot",
size = 25
}
require('betterTerm').setup {
prefix = "Term_",
startInserted = true,
position = "bot",
size = 18
}
-- use the best keymap for you
-- change 1 for other terminal id
-- Change "get_filetype_command()" to "get_project_command().command" for running projects
vim.keymap.set("n", "<leader>e", function()
require("betterTerm").send(require("code_runner.commands").get_filetype_command(), 1, { clean = false, interrupt = true })
end, { desc = "Excute File"})
You can have Hotreload for any language if instead of assigning a keymap
, create an autocmd
for the language you want to add Hotreload
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.
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