mirror of
https://github.com/tmux-plugins/tpm.git
synced 2024-12-04 18:58:49 +00:00
Update file
This commit is contained in:
parent
79e4ba885d
commit
743bfcf38a
@ -26,8 +26,8 @@ Create a plugin run file in plugin directory:
|
||||
$ touch my_plugin.tmux
|
||||
$ chmod +x my_plugin.tmux
|
||||
|
||||
You can have more than one `*.tmux` file, and all will get executed. Usually
|
||||
however, you'll need just one.
|
||||
You can have more than one `*.tmux` file, and all will get executed. However, usually
|
||||
you'll need just one.
|
||||
|
||||
### 3. create a plugin key binding
|
||||
|
||||
@ -36,8 +36,8 @@ We want the behavior of the plugin to trigger when a user hits `prefix + T`.
|
||||
Key `T` is chosen because:
|
||||
- it's "kind of" a mnemonic for `TPM`
|
||||
- the key is not used by Tmux natively. Tmux man page, KEY BINDINGS section
|
||||
contains a list of all the bindings Tmux uses. We don't want to override any
|
||||
Tmux default binding, and there's plenty of unused keys.
|
||||
contains a list of all the bindings Tmux uses. There's plenty of unused keys
|
||||
and we don't want to override any Tmux default binding,
|
||||
|
||||
Open the plugin run file in your favorite text editor:
|
||||
|
||||
@ -54,14 +54,14 @@ Put the following content in the file:
|
||||
|
||||
As you can see, plugin run file is a simple bash script that sets up binding.
|
||||
|
||||
When pressed, `prefix + T` will now execute another shell script:
|
||||
When pressed, `prefix + T` will execute another shell script:
|
||||
`tmux_list_plugins.sh`. That script should be in `scripts/` directory -
|
||||
relative to the plugin run file.
|
||||
|
||||
|
||||
### 4. listing plugins
|
||||
|
||||
Now that we have the binding, let's create a script that's invoked on
|
||||
Now that we have the binding, let's create a script that's invoked with
|
||||
`prefix + T`.
|
||||
|
||||
$ mkdir scripts
|
||||
@ -72,17 +72,15 @@ And here's the script content:
|
||||
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# fetching the value of "tpm_plugins" option
|
||||
plugins_list=$(tmux show-option -gqv "@tpm_plugins")
|
||||
# fetching the directory where plugins are installed
|
||||
plugin_path="$(tmux show-env -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)"
|
||||
|
||||
# displaying variable content, line by line
|
||||
for plugin in $plugins_list; do
|
||||
echo $plugin
|
||||
done
|
||||
# listing installed plugins
|
||||
ls -1 "$plugin_path"
|
||||
|
||||
### 5. try it out
|
||||
|
||||
To try if this works, execute the plugin run file:
|
||||
To see if this works, execute the plugin run file:
|
||||
|
||||
$ ./my_plugin.tmux
|
||||
|
||||
@ -93,11 +91,11 @@ If you get stuck you can download and check this tutorial
|
||||
|
||||
### 6. publish the plugin
|
||||
|
||||
When everything works, push the plugin to an online git repository, preferably
|
||||
Github.
|
||||
When everything is ready, push the plugin to an online git repository,
|
||||
preferably Github.
|
||||
|
||||
Other users can install your plugin by just adding plugin git URL to the
|
||||
`@tpm_plugins` list in their `.tmux.conf`.
|
||||
`@plugin` list in their `.tmux.conf`.
|
||||
|
||||
If the plugin is on Github, your users will be able to use the shorthand of
|
||||
`github_username/repository`.
|
||||
@ -106,8 +104,5 @@ If the plugin is on Github, your users will be able to use the shorthand of
|
||||
|
||||
Hopefully, that was easy. As you can see, it's mostly shell scripting.
|
||||
|
||||
You can also check source code of other plugins from the
|
||||
[List of plugins](PLUGINS.md).
|
||||
|
||||
You can use other scripting languages (ruby, phyton etc), but plain old shell
|
||||
is preferred because it will work almost anywhere.
|
||||
You can use other scripting languages (ruby, phyton etc) but plain old shell
|
||||
is preferred because of portability.
|
||||
|
Loading…
Reference in New Issue
Block a user