2014-05-19 05:17:58 -04:00
# Tmux Plugin Manager
2017-04-14 23:13:45 -04:00
[![Build Status ](https://travis-ci.org/tmux-plugins/tpm.svg?branch=master )](https://travis-ci.org/tmux-plugins/tpm)
2014-11-19 09:58:12 -05:00
2017-04-14 23:13:45 -04:00
Installs and loads `tmux` plugins.
2014-05-19 05:17:58 -04:00
2015-11-04 18:01:25 -05:00
Tested and working on Linux, OSX, and Cygwin.
2015-10-07 19:11:27 -04:00
2021-01-19 07:55:49 -05:00
See list of plugins [here ](https://github.com/tmux-plugins/list ).
2014-05-19 05:17:58 -04:00
### Installation
2014-09-10 15:54:59 -04:00
Requirements: `tmux` version 1.9 (or higher), `git` , `bash` .
2014-05-19 05:22:16 -04:00
2014-05-19 05:17:58 -04:00
Clone TPM:
2017-04-14 23:13:45 -04:00
```bash
2022-06-20 07:14:53 -04:00
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
2017-04-14 23:13:45 -04:00
```
2014-05-19 05:17:58 -04:00
2018-11-07 06:39:08 -05:00
Put this at the bottom of `~/.tmux.conf` (`$XDG_CONFIG_HOME/tmux/tmux.conf`
works too):
2014-05-19 05:17:58 -04:00
2017-04-14 23:13:45 -04:00
```bash
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
2015-07-06 19:46:53 -04:00
2017-04-14 23:13:45 -04:00
# Other examples:
# set -g @plugin 'github_username/plugin_name'
2019-05-19 16:59:06 -04:00
# set -g @plugin 'github_username/plugin_name#branch'
2020-06-03 15:31:31 -04:00
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
2014-05-19 05:17:58 -04:00
2017-04-14 23:13:45 -04:00
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
2020-07-06 03:34:03 -04:00
run '~/.tmux/plugins/tpm/tpm'
2017-04-14 23:13:45 -04:00
```
2014-05-19 05:17:58 -04:00
Reload TMUX environment so TPM is sourced:
2017-04-14 23:13:45 -04:00
```bash
# type this in terminal if tmux is already running
2022-06-20 07:14:53 -04:00
tmux source ~/.tmux.conf
2017-04-14 23:13:45 -04:00
```
2014-05-19 05:17:58 -04:00
That's it!
### Installing plugins
2015-11-04 18:01:25 -05:00
1. Add new plugin to `~/.tmux.conf` with `set -g @plugin '...'`
2019-02-20 09:22:35 -05:00
2. Press `prefix` + < kbd > I</ kbd > (capital i, as in **I**nstall) to fetch the plugin.
2014-05-19 05:17:58 -04:00
You're good to go! The plugin was cloned to `~/.tmux/plugins/` dir and sourced.
2014-09-28 18:06:02 -04:00
### Uninstalling plugins
2015-11-04 18:01:25 -05:00
1. Remove (or comment out) plugin from the list.
2017-04-14 23:13:45 -04:00
2. Press `prefix` + < kbd > alt</ kbd > + < kbd > u</ kbd > (lowercase u as in **u**ninstall) to remove the plugin.
2015-06-02 15:36:35 -04:00
2015-07-06 19:46:53 -04:00
All the plugins are installed to `~/.tmux/plugins/` so alternatively you can
2015-06-02 15:36:35 -04:00
find plugin directory there and remove it.
2014-09-28 18:06:02 -04:00
2014-05-19 05:17:58 -04:00
### Key bindings
2017-04-14 23:13:45 -04:00
`prefix` + < kbd > I</ kbd >
2015-11-04 18:01:25 -05:00
- Installs new plugins from GitHub or any other git repository
- Refreshes TMUX environment
2014-05-19 05:17:58 -04:00
2017-04-14 23:13:45 -04:00
`prefix` + < kbd > U</ kbd >
2014-08-05 15:04:17 -04:00
- updates plugin(s)
2014-05-19 05:17:58 -04:00
2017-04-14 23:13:45 -04:00
`prefix` + < kbd > alt</ kbd > + < kbd > u</ kbd >
2015-08-02 18:29:01 -04:00
- remove/uninstall plugins not on the plugin list
2015-05-27 14:41:04 -04:00
2015-07-10 11:05:09 -04:00
### Docs
2014-10-17 17:16:02 -04:00
2015-08-10 14:18:32 -04:00
- [Help, tpm not working ](docs/tpm_not_working.md ) - problem solutions
2015-07-10 11:05:09 -04:00
More advanced features and instructions, regular users probably do not need
this:
2014-10-17 17:16:02 -04:00
2015-07-10 11:05:09 -04:00
- [How to create a plugin ](docs/how_to_create_plugin.md ). It's easy.
2015-08-02 17:11:59 -04:00
- [Managing plugins via the command line ](docs/managing_plugins_via_cmd_line.md )
2015-07-10 11:10:37 -04:00
- [Changing plugins install dir ](docs/changing_plugins_install_dir.md )
2015-07-10 11:14:13 -04:00
- [Automatic TPM installation on a new machine ](docs/automatic_tpm_installation.md )
2014-05-21 06:29:20 -04:00
2014-07-17 16:56:02 -04:00
### Tests
2017-04-14 23:13:45 -04:00
Tests for this project run on [Travis CI ](https://travis-ci.org/tmux-plugins/tpm ).
2014-07-17 16:56:02 -04:00
2014-11-19 09:58:12 -05:00
When run locally, [vagrant ](https://www.vagrantup.com/ ) is required.
Run tests with:
2014-07-17 16:56:02 -04:00
2017-04-14 23:13:45 -04:00
```bash
# within project directory
2022-06-20 07:14:53 -04:00
./run_tests
2017-04-14 23:13:45 -04:00
```
2024-05-22 18:03:30 -04:00
### Unattended Install
2024-05-22 19:01:26 -04:00
To do an unattended install, for example if you already have a config:
2024-05-09 15:06:51 -04:00
`~/.tmux/plugins/tpm/scripts/install_plugins.sh`
2024-05-22 19:01:26 -04:00
Note this is also a good workaround if you have other issues with the automatic installation, such as known issues with MacOS (see [#277 ](https://github.com/tmux-plugins/tpm/issues/277 ) and [#193 ](https://github.com/tmux-plugins/tpm/issues/277 ))
2014-05-19 05:17:58 -04:00
### License
[MIT ](LICENSE.md )