{"id":13626304,"url":"https://github.com/tmux-plugins/tmux-pain-control","last_synced_at":"2025-04-16T14:33:06.871Z","repository":{"id":17210210,"uuid":"19978749","full_name":"tmux-plugins/tmux-pain-control","owner":"tmux-plugins","description":"standard pane key-bindings for tmux","archived":false,"fork":false,"pushed_at":"2021-08-11T11:01:36.000Z","size":132,"stargazers_count":759,"open_issues_count":9,"forks_count":66,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-11-08T16:43:00.476Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tmux-plugins.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2014-05-20T11:45:19.000Z","updated_at":"2024-11-06T07:56:00.000Z","dependencies_parsed_at":"2022-07-13T14:44:18.837Z","dependency_job_id":null,"html_url":"https://github.com/tmux-plugins/tmux-pain-control","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmux-plugins%2Ftmux-pain-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmux-plugins%2Ftmux-pain-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmux-plugins%2Ftmux-pain-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmux-plugins%2Ftmux-pain-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmux-plugins","download_url":"https://codeload.github.com/tmux-plugins/tmux-pain-control/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249250820,"owners_count":21237961,"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":[],"created_at":"2024-08-01T21:02:15.086Z","updated_at":"2025-04-16T14:33:06.586Z","avatar_url":"https://github.com/tmux-plugins.png","language":"Shell","readme":"# Tmux Pain Control\n\nTmux plugin for controlling panes. Adds standard pane navigation bindings.\n\nSo far, you had to google around and comb other people's dotfiles to find these.\nThis plugin hopefully makes them more available and \"more standard\".\n\nThanks to the Tmux community for \"inventing\" these bindings. I've merely just\ncopied them here.\n\nTested and working on Linux, OSX and Cygwin.\n\n### Bindings\n\nNotice most of the bindings emulate vim cursor movements.\n\n\u003cimg align=\"right\" src=\"/screenshots/pane_navigation.gif\" alt=\"pane navigation\"/\u003e\n\n**Navigation**\n\n- `prefix + h` and `prefix + C-h`\u003cbr/\u003e\n  select pane on the left\n- `prefix + j` and `prefix + C-j`\u003cbr/\u003e\n  select pane below the current one\n- `prefix + k` and `prefix + C-k`\u003cbr/\u003e\n  select pane above\n- `prefix + l` and `prefix + C-l`\u003cbr/\u003e\n  select pane on the right\n\n\u003cbr/\u003e\n\n**Note**: This overrides tmux's default binding for toggling between last\nactive windows, `prefix + l`.\n[tmux-sensible](https://github.com/tmux-plugins/tmux-sensible) gives you\na better binding for that, `prefix + a` (if your prefix is `C-a`).\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cimg align=\"right\" src=\"/screenshots/pane_resizing.gif\" alt=\"pane resizing\"/\u003e\n\n**Resizing panes**\n\n- `prefix + shift + h`\u003cbr/\u003e\n  resize current pane 5 cells to the left\n- `prefix + shift + j`\u003cbr/\u003e\n  resize 5 cells in the down direction\n- `prefix + shift + k`\u003cbr/\u003e\n  resize 5 cells in the up direction\n- `prefix + shift + l`\u003cbr/\u003e\n  resize 5 cells to the right\n\nThese mappings are `repeatable`.\n\nThe amount of cells to resize can be configured with `@pane_resize` option. See\n[configuration section](#configuration) for the details.\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cimg align=\"right\" src=\"/screenshots/pane_splitting.gif\" alt=\"pane splitting\"/\u003e\n\n**Splitting panes**\n\n- `prefix + |`\u003cbr/\u003e\n  split the current pane into two, left and right.\n- `prefix + -`\u003cbr/\u003e\n  split the current pane into two, top and bottom.\n- `prefix + \\`\u003cbr/\u003e\n  split current pane full width into two, left and right.\n- `prefix + _`\u003cbr/\u003e\n  split current pane full height into two, top and bottom.\n\nNewly created pane always has the same path as the original pane.\n\n\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\n**Swapping windows**\n\n- `prefix + \u003c` - moves current window one position to the left\n- `prefix + \u003e` - moves current window one position to the right\n\n### Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm) (recommended)\n\nAdd plugin to the list of TPM plugins in `.tmux.conf`:\n\n    set -g @plugin 'tmux-plugins/tmux-pain-control'\n\nHit `prefix + I` to fetch the plugin and source it.\n\nYou should now have all `pain-control` bindings defined.\n\n### Manual Installation\n\nClone the repo:\n\n    $ git clone https://github.com/tmux-plugins/tmux-pain-control ~/clone/path\n\nAdd this line to the bottom of `.tmux.conf`:\n\n    run-shell ~/clone/path/pain_control.tmux\n\nReload TMUX environment:\n\n    # type this in terminal\n    $ tmux source-file ~/.tmux.conf\n\nYou should now have all `pain-control` bindings defined.\n\n### Configuration\n\nYou can set `@pane_resize` Tmux option to choose number of resize cells for the\nresize bindings. \"5\" is the default.\n\nExample:\n\n    set-option -g @pane_resize \"10\"\n\n### Other plugins\n\nYou might also find these useful:\n\n- [sessionist](https://github.com/tmux-plugins/tmux-sessionist) - lightweight\n  tmux utils for switching and creating sessions\n- [logging](https://github.com/tmux-plugins/tmux-logging) - easy logging and\n  screen capturing\n\n### License\n[MIT](LICENSE.md)\n","funding_links":[],"categories":["Shell","Plugins"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmux-plugins%2Ftmux-pain-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmux-plugins%2Ftmux-pain-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmux-plugins%2Ftmux-pain-control/lists"}