{"id":20877299,"url":"https://github.com/flatcap/vim-tabitha","last_synced_at":"2025-12-27T05:28:38.662Z","repository":{"id":31439783,"uuid":"35003426","full_name":"flatcap/vim-tabitha","owner":"flatcap","description":"⚙ Vim Plugin - Helps you switch between windows, tabs and files","archived":false,"fork":false,"pushed_at":"2022-06-12T19:25:23.000Z","size":32,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-19T09:32:01.564Z","etag":null,"topics":["buffer","file","plugin","script","tab","vim","window"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flatcap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-03T22:46:44.000Z","updated_at":"2023-02-27T23:01:54.000Z","dependencies_parsed_at":"2022-09-09T09:40:24.241Z","dependency_job_id":null,"html_url":"https://github.com/flatcap/vim-tabitha","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flatcap%2Fvim-tabitha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flatcap%2Fvim-tabitha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flatcap%2Fvim-tabitha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flatcap%2Fvim-tabitha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flatcap","download_url":"https://codeload.github.com/flatcap/vim-tabitha/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243251120,"owners_count":20261155,"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":["buffer","file","plugin","script","tab","vim","window"],"created_at":"2024-11-18T06:56:34.790Z","updated_at":"2025-12-27T05:28:38.625Z","avatar_url":"https://github.com/flatcap.png","language":"Vim script","readme":"# tabitha.vim\n\n## Introduction\n\nTabitha helps you switch between windows, tabs and files.\n\nThe plugin creates two mappings: `\u003cTab\u003e` to move forwards and `\u003cS-Tab\u003e` to move backwards.\nPressing `\u003cTab\u003e` in normal mode will move the focus to the next window.  If there are no more windows, the next tab will be selected.\n\nIf there is only one window and one tab, then Tabitha will switch to the next file in the arglist.\n\nBy pressing `\u003cS-Tab\u003e` the focus will be moved to the previous window, tab or file.\n\nThe default mappings support a count.  Therefore pressing `3\u003cTab\u003e` will move the focus forward three windows, tabs or files.\n\n## Configuration\n\nThe behaviour of Tabitha is controlled by five global variables:\n\n```viml\nlet g:tabitha_navigate_windows = 1\nlet g:tabitha_navigate_tabs    = 1\nlet g:tabitha_navigate_files   = 1\nlet g:tabitha_wrap_around      = 1\nlet g:tabitha_select_window    = 1\n```\n\nThe default behaviour is to switch to the next window.  If there are no more windows, then the first window of the next tab will be selected.  When the final window of the final tab is reached, the focus will wrap around to the first window of the first tab.\n\nBy choosing which variables to set, you can choose to cycle through:\n\n- Just Windows\n- Windows and Tabs\n- Just Tabs\n- Just Files\n\nWhen switching between tabs, the `select_window` option controls whether the focus should be set to the first window in that tab.\n\n## Mappings\n\nBy default, Tabitha will create two key mappings and eight plugin mappings:\n\n    \u003cTab\u003e   Move forwards through windows/tabs\n    \u003cS-Tab\u003e Move backwards through windows/tabs\n\n    \u003cPlug\u003eTabithaNextWindow\n    \u003cPlug\u003eTabithaPreviousWindow\n\n    \u003cPlug\u003eTabithaNextTab\n    \u003cPlug\u003eTabithaPreviousTab\n\n    \u003cPlug\u003eTabithaNextFile\n    \u003cPlug\u003eTabithaPreviousFile\n\n    \u003cPlug\u003eTabithaSwitchForwards\n    \u003cPlug\u003eTabithaSwitchBackwards\n\nThese can be disabled by setting:\n\n```viml\nlet g:tabitha_create_mappings = 0\n```\n\nYou can create your own Tabitha mappings, e.g.\n\n```viml\n\" Move focus forwards\nnmap \u003csilent\u003e \u003cF3\u003e \u003cPlug\u003eTabithaSwitchForwards\nnmap \u003csilent\u003e \u003cF3\u003e :\u003cC-u\u003ecall tabitha#Switch (1)\u003cCR\u003e\n\n\" Move focus backwards\nnmap \u003csilent\u003e \u003cF4\u003e \u003cPlug\u003eTabithaSwitchBackwards\nnmap \u003csilent\u003e \u003cF4\u003e :\u003cC-u\u003ecall tabitha#Switch (0)\u003cCR\u003e\n\n\" Select next tab\nnmap \u003csilent\u003e \u003cLeader\u003et \u003cPlug\u003eTabithaNextTab\nnmap \u003csilent\u003e \u003cLeader\u003et :\u003cC-u\u003ecall tabitha#NextTab (1, 0, 0)\u003cCR\u003e\n\n\" Select previous file\nnmap \u003csilent\u003e \u003cLeader\u003eF \u003cPlug\u003eTabithaPreviousFile\nnmap \u003csilent\u003e \u003cLeader\u003eF :\u003cC-u\u003ecall tabitha#NextFile (0, 0)\u003cCR\u003e\n```\n\n## API\n\nTabitha introduces four functions to vim.  Their behaviour is configured by five variables, described in 'Configuration', above.\n\n```viml\nfunction! tabitha#NextWindow (...)\nfunction! tabitha#NextTab (...)\nfunction! tabitha#NextFile (...)\nfunction! tabitha#Switch (...)\n```\n\n### NextWindow\n\nNextWindow moves the cursor to the next/previous window.\nIt takes two optional parameters.\nIt returns 1 if the focus was changed, 0 otherwise.\n\n```viml\ntabitha#NextWindow (forwards, wrap)\n```\n\n| Parameter | Default  | Description                       |\n| --------- | -------- | --------------------------------- |\n| forwards  | 1 (true) | direction of change               |\n| wrap      | 1 (true) | wrap around at end of window list |\n\ne.g.\n\n```viml\ncall tabitha#NextWindow ()\ncall tabitha#NextWindow (1, 1)\n```\n\n### NextTab\n\nNextTab moves the cursor to the next/previous tab.\nIt takes three optional parameters.\nIt returns 1 if the focus was changed, 0 otherwise.\n\n```viml\ntabitha#NextTab (forwards, wrap, select_window)\n```\n\n| Parameter     | Default  | Description                                     |\n| ------------- | -------- | ----------------------------------------------- |\n| forwards      | 1 (true) | direction of change                             |\n| wrap          | 1 (true) | wrap around at end of tab list                  |\n| select_window | 1 (true) | when switching tabs, pick the first/last window |\n\ne.g.\n\n```viml\ncall tabitha#NextTab ()\ncall tabitha#NextTab (1, 0, 0)\n```\n\n### NextFile\n\nNextFile moves the cursor to the next/previous file.\nIt takes two optional parameters.\nIt returns 1 if the focus was changed, 0 otherwise.\n\n```viml\ntabitha#NextFile (forwards, wrap)\n```\n\n| Parameter | Default  | Description                     |\n| --------- | -------- | ------------------------------- |\n| forwards  | 1 (true) | direction of change             |\n| wrap      | 1 (true) | wrap around at end of file list |\n\ne.g.\n\n```viml\ncall tabitha#NextFile ()\ncall tabitha#NextFile (1, 1)\n```\n\n### Switch\n\nSwitch moves the cursor to the next/previous window/tab/file (dependent on configuration).\nIt takes one optional parameter.\nIt returns the number of times the focus moved, 0 if nothing changed.\n\n```viml\ntabitha#Switch (forwards)\n```\n\n| Parameter | Default  | Description         |\n| --------- | -------- | ------------------- |\n| forwards  | 1 (true) | direction of change |\n\ne.g.\n\n```viml\ncall tabitha#Switch ()\ncall tabitha#Switch (1)\n```\n\n## Naming\n\nThe plugin is whimsically named after the default key mapping.\nThe name 'Tabitha' is derived from an Aramaic word meaning gazelle.\n\n## License\n\nCopyright \u0026copy; Richard Russon (flatcap).\nDistributed under the GPLv3 \u003chttp://fsf.org/\u003e\n\n## See also\n\n- [flatcap.org](https://flatcap.org)\n- [GitHub](https://github.com/flatcap/vim-tabitha)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflatcap%2Fvim-tabitha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflatcap%2Fvim-tabitha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflatcap%2Fvim-tabitha/lists"}