Installs and loads tmux plugins.
Tested and working on Linux, OSX, and Cygwin.
See list of plugins here.
Requirements: tmux version 1.9 (or higher), git, bash.
Clone TPM:
Note
If your tmux config is located in $XDG_CONFIG_HOME/tmux/tmux.conf (i.e.
~/.config/tmux/tmux.conf) you need to change ~/.tmux/plugins/tpm-async
to $XDG_CONFIG_HOME/tmux/tmux.conf in the command below.
git clone https://github.com/x3rAx/tpm-async ~/.tmux/plugins/tpm-asyncPut this at the bottom of ~/.tmux.conf ($XDG_CONFIG_HOME/tmux/tmux.conf
works too):
# List of plugins
set -g @plugin 'x3rAx/tpm-async'
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 '[email protected]:user/plugin'
# set -g @plugin '[email protected]:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '#{d:current_file}/plugins/tpm-async/tpm'Note
The run -b in the last line loads TPM itself asynchronously. This means
that tmux will start faster but it might cause a bit of flickering until
e.g. themes are loaded. If it bothers you, you can work around it by removing
the -b and add the async=false attribute on the plugins you want to be
loaded synchronously:
set -g @plugin 'catppuccin/tmux;async=false'Reload TMUX environment so TPM is sourced:
# type this in terminal if tmux is already running
tmux source ~/.tmux.confThat's it!
- Add new plugin to
~/.tmux.confwithset -g @plugin '...' - Press
prefix+ I (capital i, as in Install) to fetch the plugin.
You're good to go! The plugin was cloned to ~/.tmux/plugins/ dir and sourced.
- Remove (or comment out) plugin from the list.
- Press
prefix+ alt + u (lowercase u as in uninstall) to remove the plugin.
All the plugins are installed to ~/.tmux/plugins/ so alternatively you can
find plugin directory there and remove it.
prefix + I
- Installs new plugins from GitHub or any other git repository
- Refreshes TMUX environment
prefix + U
- updates plugin(s)
prefix + alt + u
- remove/uninstall plugins not on the plugin list
Should you encounter problems with async plugin loading, it can be disabled by setting the following option before loading TPM:
set -g @tpm_async 'false'- Help, tpm not working - problem solutions
More advanced features and instructions, regular users probably do not need this:
- How to create a plugin. It's easy.
- Managing plugins via the command line
- Changing plugins install dir
- Automatic TPM installation on a new machine
Tests for this project run on Travis CI.
When run locally, vagrant is required. Run tests with:
# within project directory
./run_tests