06 - TPM - Tmux Plugin Manager 与它的插件

使用 Tmux 的插件管理工具来载入各式插件,可以为使用者减少配置的麻烦。如果不使用插件,使用者必须要自己在 .tmux.config 配置档中一一设定配置或撰写程序。使用插件後,只要在配置档中引入,就可以使用各种便利的功能。

TPM 全名为 Tmux Plugin Manager ,藉由 TPM 的帮助,我们可以引入各式各样有用的插件,来增进使用 Tmux 的便利性与开发时的产能。

Tmux 的 prefix 预设是 Control B ,如果有自行修改 prefix ,请自己将下面说明的 prefix 替换为自己的设定。

安装 TPM

在安装 TPM 前,请先确认已经安装 Tmux 、 Git 与 Bash 。

要安装 TPM ,需要先 clone 它的程序码至本机中。

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

如果已经启动 Tmux 的话,需要重新载入 Tmux 的设定,让 TPM 的安装生效。

tmux source ~/.tmux.conf

使用 TPM

要使用 TPM 的方式有两种,一种是在 Tmux 中使用快捷键,另一种是藉由指令操作,接下来会以这两个方式分别操作 TPM 执行特定的动作。

安装插件

在 Tmux 配置档( ~/.tmux.conf )中加上插件:

set -g @plugin 'plugin name'

在 Tmux 中可以使用快捷键 prefix + I (大写 I )执行安装, TPM 会将设定的插件下载至 ~/.tmux/plugins/ 并且载入,完成安装。

也可以直接使用指令:

~/.tmux/plugins/tpm/bin/install_plugins

更新插件

在 Tmux 中可以使用快捷键 prefix + U (大写 U )执行更新,按照 TPM 给予的提示做对应的更新。

Installed plugins:
  tpm
  tmux-sensible
Type plugin name to update it.
- "all" - updates all plugins
- ENTER - cancels
  • 更新特定插件:输入插件名称。
  • 更新全部插件:输入 all
  • 离开:直接按 Return 键。

也可以直接使用指令,更新全部的插件:

~/.tmux/plugins/tpm/bin/update_plugins all

另外指定插件名称,可以更新特定插件:

~/.tmux/plugins/tpm/bin/update_plugins tmux-sensible

删除插件

在 Tmux 配置档( ~/.tmux.conf )中删除想要解安装的插件:

# 注解掉想要删除的插件
# set -g @plugin 'tmux-plugins/tmux-sensible'

在 Tmux 中可以使用快捷键 prefix + alt u (小写 u )执行删除,它会将不在配置档内的插件从 ~/.tmux/plugins/ 目录中删除。

Mac 中的 alt 键需要设定,请参考 Alt key binding not great from Mac. :(

另外可以直接使用指令:

~/.tmux/plugins/tpm/bin/clean_plugins

插件介绍

tmux-sensible

由於 Tmux 预设的设定对於使用者来说不太合理,因此我们可以藉由 tmux-sensible 的帮助,将 Tmux 的设定配置的合乎使用者的需求。

tmux-yank

tmux-yank 可以将 Tmux 中复制的字串贴至作业系统的剪贴簿上。

在一般模式下:

  • prefix + y :复制当前的指令。
  • prefix + Y :复制当前的所在路径。

在复制模式下:

  • y :复制选取的字串。
  • Y :复制选取的字串并贴至命令列。

tmux-copycat

tmux-copycat 是个 Tmux 的搜寻工具,利用快捷键,可以快速搜索出目标字串。

快捷键 动作
prefix + / 使用 Regex 语法搜寻
prefix + control-f 在视窗内容中找寻档案路径
prefix + control-g 在视窗内容中寻找 Git status 的档案
prefix + control-u 在视窗内容中寻找 Url

当找寻的目标结果有多个时,可以使用:

  • n :移至下个结果
  • N :移至上个结果

tmux-yank 搭配使用,会得到更好的效果。

tmux-open

tmux-open 可以使用特定方式开启选取的档案。

在复制模式下:

  • o :使用预设的程序开启选取得的路径。
  • Control-o :使用 $EDITOR 设定的编辑器开启路径。
  • Shift-s :使用搜寻引擎将选取字串作为搜寻目标。

tmux-resurrect

tmux-resurrect 可以储存当前 Tmux 的状态,并在重新启动 Tmux 後再次载入。

它有两个指令:

  • prefix + Control s :储存 Tmux 状态。
  • prefix + Control r :载入 Tmux 状态。

tmux-continuum

tmux-continuum 在 tmux-resurrect 上实现了自动保存的功能。

预设自动保存是每 15 分钟执行一次,可以使用 continuum-save-interval 参数修改此规则:

set -g @continuum-save-interval '60'

continuum-save-interval 单位是分钟。

nord-tmux

nord-tmux 是个 tmux 的主题。

本文重点整理

  • 藉由 Tmux 插件管理工具 TPM 的帮助,我们可以对 Tmux 引入新的功能及配置。
  • TPM 可以安装、更新以及删除各式插件,每个动作都可以藉由快捷键或是指令达成。
    • 安装:
        1. 将插件加入配置档中。
        1. 使用 prefix + I 或是 ~/.tmux/plugins/tpm/bin/install_plugins 安装。
    • 更新:使用 prefix + U 或是 ~/.tmux/plugins/tpm/bin/update_plugins all 更新。
    • 删除:
        1. 将插件从配置档中删除。
        1. 使用 prefix + alt-u 或是 ~/.tmux/plugins/tpm/bin/clean_plugins 删除。
  • 介绍各式插件
    • 浏览类: tmux-yanktmux-copycattmux-open
    • 保存类: tmux-resurrecttmux-continuum
    • 主题类: nord-tmux

参考资料


<<:  Progressive Web App Shortcuts: 程序快速启动选单 (9)

>>:  [Day 17] 新功能的测试,检验不应该存在的资料

Day8-滚动视差(上)_前有文字

今天试着写了滚动视差的网站 滚动视差主要是靠东西不同的滚动速度来做到前後落差的感觉 先看成品 先做最...

# Day27--我是谁?我在哪?终於离开Vim了

不知不觉commit了很多东西,今天要来面对的,就是这些纪录的修改。 这个篇章大概会分成两个部分: ...

软件开发团队 “有动力自主成长” 的 LOC 100K 门槛

在一般的软件公司,和面对规模的不大的专案,除非你是个对软件开发、工程品质、效率 “真的” 有兴趣,而...

成员 15 人:大猫喜欢打架,就像小孩一样

如何让同事奋勇向前,又不会伤及彼此? 「同事关系,等同婚姻关系;  没有一件事,会是理所当然。」 如...

Day 14 -资料查询语言 LIKE !

LIKE 运算子搭配 WHERE 子句可以依一特定模式 (Pattern) 为条件来搜寻资料表中的特...