{"id":13476391,"url":"https://github.com/zbirenbaum/nvterm","last_synced_at":"2025-10-09T00:08:20.942Z","repository":{"id":37922281,"uuid":"484281168","full_name":"zbirenbaum/nvterm","owner":"zbirenbaum","description":"  NvChad's Official Terminal Plugin ( Unmaintained  but still usable and stable), wait for v3.0","archived":false,"fork":false,"pushed_at":"2024-03-09T18:20:48.000Z","size":41,"stargazers_count":181,"open_issues_count":22,"forks_count":20,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-27T17:14:29.694Z","etag":null,"topics":["neovim","neovim-terminal","terminal","vim"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zbirenbaum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-04-22T03:20:33.000Z","updated_at":"2025-07-03T16:01:09.000Z","dependencies_parsed_at":"2024-03-09T19:29:08.833Z","dependency_job_id":"5504eee6-7347-41a7-80b1-cb5e3da8f8f7","html_url":"https://github.com/zbirenbaum/nvterm","commit_stats":null,"previous_names":["zbirenbaum/nvterm","nvchad/nvterm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zbirenbaum/nvterm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbirenbaum%2Fnvterm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbirenbaum%2Fnvterm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbirenbaum%2Fnvterm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbirenbaum%2Fnvterm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zbirenbaum","download_url":"https://codeload.github.com/zbirenbaum/nvterm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbirenbaum%2Fnvterm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000744,"owners_count":26082879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["neovim","neovim-terminal","terminal","vim"],"created_at":"2024-07-31T16:01:29.771Z","updated_at":"2025-10-09T00:08:20.910Z","avatar_url":"https://github.com/zbirenbaum.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# NvChad terminal Plugin ( Unmaintained ) \n\n## Install\n\n- Simply install the plugin with lazy.nvim as you would for any other:\n\n```lua\n{\n  \"NvChad/nvterm\",\n  config = function ()\n    require(\"nvterm\").setup()\n  end,\n}\n```\n\n### Configuration\n\n- Pass a table of configuration options to the plugin's `.setup()` function above.\n- Default configuration table\n\n```lua\nrequire(\"nvterm\").setup({\n  terminals = {\n    shell = vim.o.shell,\n    list = {},\n    type_opts = {\n      float = {\n        relative = 'editor',\n        row = 0.3,\n        col = 0.25,\n        width = 0.5,\n        height = 0.4,\n        border = \"single\",\n      },\n      horizontal = { location = \"rightbelow\", split_ratio = .3, },\n      vertical = { location = \"rightbelow\", split_ratio = .5 },\n    }\n  },\n  behavior = {\n    autoclose_on_quit = {\n      enabled = false,\n      confirm = true,\n    },\n    close_on_exit = true,\n    auto_insert = true,\n  },\n})\n```\n\n### Functions\n\nUse the below functions to map them for keybindings\n\n#### Toggle\n\n```lua\nrequire(\"nvterm.terminal\").toggle \"float\"\nrequire(\"nvterm.terminal\").toggle \"horizontal\"\nrequire(\"nvterm.terminal\").toggle \"vertical\"\n```\n\n#### Spawn new terminals\n\n```lua\nrequire(\"nvterm.terminal\").new \"horizontal\"\nrequire(\"nvterm.terminal\").new \"vertical\"\n```\n\n#### Send commands to the terminal\n\n```lua\n    require(\"nvterm.terminal\").send(\" your command \", \"horizontal|vertical|float\") -- the 2nd argument i.e direction is optional\n```\n\n- This function will first open a horizontal terminal and then run the `node test.js` command \n- Whenever you re-run this function, it'll just run that command in that horizontal terminal.\n```lua\nfunction()\n      require(\"nvterm.terminal\").send(\"node test.js\", \"horizontal\")\nend,\n```\n\n### Additional Functionality\n\nNvTerm provides an api for you to send commands to the terminal. You can create different ones for different filetypes like so:\n\n```lua\nrequire(\"nvterm\").setup()\n\nlocal terminal = require(\"nvterm.terminal\")\n\nlocal ft_cmds = {\n  python = \"python3 \" .. vim.fn.expand('%'),\n  ...\n  \u003cyour commands here\u003e\n}\nlocal toggle_modes = {'n', 't'}\nlocal mappings = {\n  { 'n', '\u003cC-l\u003e', function () terminal.send(ft_cmds[vim.bo.filetype]) end },\n  { toggle_modes, '\u003cA-h\u003e', function () terminal.toggle('horizontal') end },\n  { toggle_modes, '\u003cA-v\u003e', function () terminal.toggle('vertical') end },\n  { toggle_modes, '\u003cA-i\u003e', function () terminal.toggle('float') end },\n}\nlocal opts = { noremap = true, silent = true }\nfor _, mapping in ipairs(mappings) do\n  vim.keymap.set(mapping[1], mapping[2], mapping[3], opts)\nend\n```\n\n`terminal.send` also takes a 'type' parameter, so you can choose what type of terminal to send the command to.\nBy default, it runs the command in the last opened terminal, or a vertical one if none exist.\n`terminal.send(ft_cmds[vim.bo.filetype], \"float\")` will run the command in a floating terminal\n\n## Credits\n\nOg Author's @zbirenbaum\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzbirenbaum%2Fnvterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzbirenbaum%2Fnvterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzbirenbaum%2Fnvterm/lists"}