2c4a2dfd65
Add function `_get_user_tmux_conf` to helper script `plugin_functions`. Function is searching for the users tmux configuration on multiple places by a prioritized order. The response is used within`_tmux_conf_contents` to read in the content as normally. Add new environment variable `TMUX_PLUGIN_MANAGER_CONFIG_LOCATION` which is optional to be defined. If so it has the highest priority to be loaded, despite if the file exist or not. XDG directory support has been added as well by the second priority location at `$XDG_CONFIG_HOME/tmux/tmux.conf`. |
||
---|---|---|
bin | ||
bindings | ||
docs | ||
lib | ||
scripts | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CHANGELOG.md | ||
HOW_TO_PLUGIN.md | ||
LICENSE.md | ||
README.md | ||
tpm |
Tmux Plugin Manager
Installs and loads tmux
plugins.
Tested and working on Linux, OSX, and Cygwin.
Installation
Requirements: tmux
version 1.9 (or higher), git
, bash
.
Clone TPM:
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Put this at the bottom of .tmux.conf
:
# 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 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/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
- Add new plugin to
~/.tmux.conf
withset -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.
Uninstalling plugins
- 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.
Key bindings
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
More plugins
For more plugins, check here.
Docs
- 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
Tests for this project run on Travis CI.
When run locally, vagrant is required. Run tests with:
# within project directory
$ ./run_tests
Other goodies
- tmux-copycat - a plugin for regex searches in tmux and fast match selection
- tmux-yank - enables copying highlighted text to system clipboard
- tmux-open - a plugin for quickly opening highlighted file or a url
- tmux-continuum - automatic restoring and continuous saving of tmux env
You might want to follow @brunosutic on twitter if you want to hear about new tmux plugins or feature updates.