102 lines
2.6 KiB

# Tmux Plugin Manager
[![Build Status](](
Installs and loads `tmux` plugins.
Tested and working on Linux, OSX, and Cygwin.
See list of plugins [here](
### Installation
Requirements: `tmux` version 1.9 (or higher), `git`, `bash`.
Clone TPM:
$ git clone ~/.tmux/plugins/tpm
Put this at the bottom of `~/.tmux.conf` (`$XDG_CONFIG_HOME/tmux/tmux.conf`
works too):
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin ''
# set -g @plugin ''
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Reload TMUX environment so TPM is sourced:
# type this in terminal if tmux is already running
$ tmux source ~/.tmux.conf
That's it!
### Installing plugins
1. Add new plugin to `~/.tmux.conf` with `set -g @plugin '...'`
2. Press `prefix` + <kbd>I</kbd> (capital i, as in **I**nstall) to fetch the plugin.
You're good to go! The plugin was cloned to `~/.tmux/plugins/` dir and sourced.
### Uninstalling plugins
1. Remove (or comment out) plugin from the list.
2. Press `prefix` + <kbd>alt</kbd> + <kbd>u</kbd> (lowercase u as in **u**ninstall) to remove the plugin.
All the plugins are installed to `~/.tmux/plugins/` so alternatively you can
find plugin directory there and remove it.
### Key bindings
`prefix` + <kbd>I</kbd>
- Installs new plugins from GitHub or any other git repository
- Refreshes TMUX environment
`prefix` + <kbd>U</kbd>
- updates plugin(s)
`prefix` + <kbd>alt</kbd> + <kbd>u</kbd>
- remove/uninstall plugins not on the plugin list
### Docs
- [Help, tpm not working](docs/ - problem solutions
More advanced features and instructions, regular users probably do not need
- [How to create a plugin](docs/ It's easy.
- [Managing plugins via the command line](docs/
- [Changing plugins install dir](docs/
- [Automatic TPM installation on a new machine](docs/
### Tests
Tests for this project run on [Travis CI](
When run locally, [vagrant]( is required.
Run tests with:
# within project directory
$ ./run_tests
### License