Go to file
Thore Weilbier 2c4a2dfd65
Add flexible tmux configuration load function.
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`.
2018-11-02 13:07:53 +01:00
bin Enable removing plugins via CLI executable 2015-08-03 00:33:38 +02:00
bindings Move all helpers to 'helpers/' dir 2015-08-03 17:56:45 +02:00
docs -Add auto plugin installation 2016-12-16 13:54:46 -05:00
lib New tmux-test version 2015-08-04 17:03:12 +02:00
scripts Add flexible tmux configuration load function. 2018-11-02 13:07:53 +01:00
tests Test for 'set-option' plugin definition 2015-10-08 01:24:08 +02:00
.gitattributes Force LF eol with .gitattributes 2015-09-20 01:55:42 +02:00
.gitignore Switch to using tmux-test framework 2015-08-01 22:19:06 +02:00
.gitmodules Switch to using tmux-test framework 2015-08-01 22:19:06 +02:00
.travis.yml Upgrade to tmux-test version that installs tmux 2.0 2015-08-04 14:46:11 +02:00
CHANGELOG.md correct spelling mistake 2017-09-02 08:03:23 +01:00
HOW_TO_PLUGIN.md Move to a directory 2015-07-10 17:05:09 +02:00
LICENSE.md Add README and license 2014-05-19 11:43:00 +02:00
README.md Update README.md (#66) 2017-04-14 23:13:45 -04:00
tpm Refactor 'tpm' script 2015-08-03 15:20:40 +02:00

Tmux Plugin Manager

Build Status

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

  1. Add new plugin to ~/.tmux.conf with set -g @plugin '...'
  2. 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

  1. Remove (or comment out) plugin from the list.
  2. 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

More advanced features and instructions, regular users probably do not need this:

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.

License

MIT