{"id":18526729,"url":"https://github.com/gee19/vim-gbone","last_synced_at":"2025-11-01T00:30:25.891Z","repository":{"id":46507658,"uuid":"361513263","full_name":"Gee19/vim-gbone","owner":"Gee19","description":"Small, extensible wrapper around vim-tbone.","archived":false,"fork":false,"pushed_at":"2022-04-06T06:43:38.000Z","size":23,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T03:42:04.696Z","etag":null,"topics":["tmux","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gee19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-25T18:57:46.000Z","updated_at":"2021-12-05T08:25:41.000Z","dependencies_parsed_at":"2022-07-19T22:32:51.146Z","dependency_job_id":null,"html_url":"https://github.com/Gee19/vim-gbone","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gee19%2Fvim-gbone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gee19%2Fvim-gbone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gee19%2Fvim-gbone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gee19%2Fvim-gbone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gee19","download_url":"https://codeload.github.com/Gee19/vim-gbone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239242114,"owners_count":19605954,"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","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":["tmux","vim"],"created_at":"2024-11-06T17:52:18.074Z","updated_at":"2025-11-01T00:30:25.850Z","avatar_url":"https://github.com/Gee19.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vim-gbone\n\nSmall, extensible wrapper around [vim-tbone](https://github.com/tpope/vim-tbone).\n\nTransform vim + tmux into a fully customizable test runner, language agnostic REPL, or whatever your heart desires.\n\nDoes NOT replace `vim-tbone`, `vim-dispatch`, `AsyncRun.vim` or `vim-test`.\n\n## Installation\n\n### Using [vim-plug](https://github.com/junegunn/vim-plug)\n\n```vim\nPlug 'tpope/vim-tbone'\nPlug 'Gee19/vim-gbone'\nPlug 'tyru/current-func-info.vim' \" Optional\n```\n\n### Run Usage\n- Send pre-defined run command to a tmux pane in *any direction*\n- Appends full buffer path\n\n### REPL Usage\n- Sends the current line (or visually selected lines) to a tmux pane in *any direction*, with *smart indent level support*.\n- Automatically sends the `Enter` key after each line.\n\n### Test Runner Usage\n- Sends your pre-defined test command to a tmux pane in *any direction*.\n- Appends the full buffer path.\n- Optionally, appends the current line number, class or class \u0026 function.\n\n|    Strategy | Description                                                    | Example                                        |\n| :---------- | :--------------------------------------------------------------| :--------------------------------------------- |\n| **smart**   | Test specific func, class or file depending on cursor location | `pytest /path/to/file{::className}{::funcName}`|\n| **line**    | Append line number to test command                             | `mix test /path/to/file.exs:12`                |\n\nNote:\n- *Remembers the last two panes used for each function, until you restart vim.*\n- `smart` strategy *requires* `current-func-info.vim`.\n- Supports: `C, Go, Perl, PHP, Python, Ruby, VimL, PL/SQL, sh, Bash, Zsh, Elixir`\n\n## Configuration\n\n```vim\n  let g:gbone_run_mapping = '\u003cleader\u003ex'\n  let g:gbone_run_ft_map = {\n  \\ 'python': 'python3.8',\n  \\ 'javascript': 'node',\n  \\ }\n\n  let g:gbone_repl_mapping = '\u003cleader\u003erl'\n  let g:gbone_test_mapping = '\u003cleader\u003et'\n\n  let g:gbone_ft_map = {\n  \\ 'python': 'pytest -vvv',\n  \\ 'javascript': 'yarn test',\n  \\ 'elixir': 'mix test',\n  \\ 'spec': 'npx cypress run --browser firefox --spec'\n  \\ }\n\n  let g:gbone_ft_strategy = {\n  \\ 'python': 'smart',\n  \\ 'elixir': 'line',\n  \\ }\n```\n\n## TODO\n- BUG: fix visual mode mapping sending full lines?\n- ENHANCEMENT: capture input for direction if last pane doesn't exist\n- localleader might be the move\n- write help text\n\n## Credit\n\n- [tpope](https://github.com/tpope) for [vim-tbone](https://github.com/tpope/vim-tbone).\n- [tyru](https://github.com/tyru) for [current-func-info](https://github.com/tyru/current-func-info.vim).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgee19%2Fvim-gbone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgee19%2Fvim-gbone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgee19%2Fvim-gbone/lists"}