Tmux Plugin Manager使用及具体插件

TPM安装

按照官网的做法,很简单就安装上了,输入下面命令:

# 把管理器文件安装到`~/.tmux/plugins/tpm`之下 此前这些目录是不存在的
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

# 新建配置文件
vim ~/.tmux.conf

# 将下面内容复制到`~/.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' 

#使其生效
tmux source-file ~/.tmux.conf

记住,这个必须放在.tumx.conf的底部

快捷键管理插件

安装插件

  1. 添加新的插件~/.tmux.confset -g @plugin '...'
  2. prefix+ I(大写字母i,如 nstall)来获取插件。

你很好!该插件已克隆到~/.tmux/plugins/dir并已获得。

卸载插件

  1. 从列表中删除(或注释掉)插件。
  2. prefix+ alt+ u(小写ü在ü n安装)删除插件。

所有插件均已安装到,~/.tmux/plugins/因此您也可以在此处找到插件目录并将其删除。

键绑定

prefix + I

  • 从GitHub或任何其他git存储库安装新插件
  • 刷新TMUX环境

prefix + U

  • 更新插件

prefix+ alt+u

  • 删除/卸载不在插件列表中的插件

命令管理插件

安装插件

像往常一样,需要在中指定插件.tmux.conf。运行以下命令以安装插件:

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

更新插件

要更新所有已安装的插件:

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

或更新单个插件:

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

删除插件

要删除不在插件列表中的插件:

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

tmux复制粘贴插件

使用tmux-yank插件改善复制粘贴体验

直接在.tmux.conf中的List of plugins下新增插件即可

set -g @plugin 'tmux-plugins/tmux-yank'

安装完成后默认使用鼠标选中后,松开鼠标右键即为复制

tmux永久保存插件(手动)

将插件添加到TPM插件列表中.tmux.conf

set -g @plugin 'tmux-plugins/tmux-resurrect'

要保存 Tmux 会话 , 我们只要按 前缀键 + Ctrl-s 就可以了 。 此时 ,Tmux 状态栏会显示 “Saving ...” 字样 , 完毕后会提示 Tmux 环境已保存 。

Tmux Resurrect 会将 Tmux 会话的详细信息以文本文件形式保存到 ~/.tmux/resurrect 目录 。

还原则按 前缀键 + Ctrl-r 即可 。

默认情况下,仅还原保守的程序列表
vi vim nvim emacs man less more tail top htop irssi weechat mutt

我们可能还需要保存当前每个窗格运行的程序。类似 vim, less, man 这些程序 tmux-resurrect 会自动恢复,其他的则需要配置:

set -g @resurrect-processes 'ssh mysql redis-server npm'

这个插件可以保存和恢复tmux窗格的内容。

可以通过添加以下行来启用此功能.tmux.conf

set -g @resurrect-capture-pane-contents 'on'

tmux永久保存插件(自动)

可能你嫌手动保存和恢复太过麻烦,别担心,这不是问题。Tmux Continuum 在 Tmux Resurrec的基础上更进一步,现在保存和恢复全部自动化了,如你所愿,可以无感使用tmux,不用再担心备份问题。

Tmux Continuum依赖Tmux Resurrect,请保证已安装Tmux Resurrect插件

Tmux Continuum默认每隔15mins备份一次,我设置的是一天一次:

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

关闭自动备份,只需设置时间间隔为 0 即可:

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

想要在tmux启动时就恢复最后一次保存的会话环境,需增加如下配置:

set -g @continuum-restore 'on' # 启用自动恢复

如果不想要启动时自动恢复的功能了,直接移除上面这行就行。想要绝对确定自动恢复不会发生,就在用户根目录下创建一个tmux_no_auto_restore空文件(创建命令:touch ~/tmux_no_auto_restore),该文件存在时,自动恢复将不触发。

对于tmux高级用户(可能就是你)而言,同时运行多个tmux服务器也是有可能的。你可能并不希望后面启用的几个tmux服务器自动恢复或者自动保存会话。因此Tmux Continuum会优先在第一个启用的tmux服务器中生效,随后启用的tmux服务器不再享受自动恢复或自动保存会话的待遇。

实际上,不管Tmux Continuum功能有没有启用,或者多久保存一次,我们都有办法从状态栏知晓。Tmux Continuum提供了一个查看运行状态的插值#{continuum_status},它支持status-rightstatus-left两种状态栏设置,如下所示:

set -g status-right 'Continuum status: #{continuum_status}'

tmux运行时,#{continuum_status} 将显示保存的时间间隔(单位为分钟),此时状态栏会显示:

Continuum status: 1440

如果其自动保存功能关闭了,那么状态栏会显示:

Continuum status: off

tmux日志

set -g @plugin 'tmux-plugins/tmux-logging' 

记录日志:

在当前窗格中切换(开始/停止)日志记录。

  • 按键绑定: prefix + shift + p

  • 文件名格式: tmux-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log

  • 文件路径:(

    $HOME
    

    用户主目录)

    • 示例文件: ~/tmux-my-session-0-1-20140527T165614.log

截取屏幕日志:

在当前窗格中保存可见文本。等效于“文本截图”。

  • 按键绑定: prefix + alt + p
  • 文件名格式: tmux-screen-capture-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
  • 文件路径:($HOME 用户主目录)
    • 示例文件: tmux-screen-capture-my-session-0-1-20140527T165614.log

保存完整的历史记录

将完整的窗格历史记录保存到文件。如果您回想起来很方便,则需要记录/保存所有工作。

  • 按键绑定: prefix + alt + shift + p
  • 文件名格式: tmux-history-#{session_name}-#{window_index}-#{pane_index}-%Y%m%dT%H%M%S.log
  • 文件路径:($HOME用户主目录)
    • 示例文件: tmux-history-my-session-0-1-20140527T165614.log

注意:此功能取决于history-limit- 值Tmux在回滚缓冲区中保留的行数。Tmux保留的内容也只会保存到文件中。

set -g history-limit 50000在.tmux.conf中使用,对于现代计算机,可以将此选项设置为高数字。

清除窗格历史记录

按键绑定: prefix + alt + c

这只是一个便捷键绑定。

参考:

tpm

Tmux的超绝便利 (基础篇)

Tmux(-yank,-cssh,-xpanes)使用指南

tmux-plugins

tmux入坑指南

Tmux使用手册

posted @ 2020-08-19 14:01  hongdada  阅读(6193)  评论(0编辑  收藏  举报