tmux插件管理

前言

上一篇文章中,我们介绍了tmux的安装与简单使用

tmux安装与使用-CSDN博客

本文,我们将介绍tmux的插件管理,使用插件可以使我们对终端的运用效率翻倍


插件管理器

和vim一样的思路,需要先安装tmux专属的插件管理器,一般都是用这个:tmux plugin manager,即tpm。

注意:文档里面都会提到prefix + ...,其中prefix指的是tmux的命令前缀,默认是ctrl+b。这种命令前缀的意思是说,接下来的命令是属于tmux的命令,从而避免了命令冲突

 按照tpm官网的做法,很简单就安装上了,输入下面命令将源码克隆到本地

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

然后新建配置文件

vim ~/.tmux.conf

将以下内容复制到配置文件中

配置文件中的内容表示将要安装的插件,tpm会根据该配置文件安装对应的插件

其中配置文件中set -g @plugin 插件名称,表示要添加的插件

# default plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'# screen logging
set -g @plugin 'tmux-plugins/tmux-logging'
set -g @save-complete-history-path "$HOME/.tmux/logs/complete-history-path"
set -g @save-complete-history-filename "tmux-history-#{session_name}-#{window_name}-#{pane_index}-%Y%m%d%H%M%S.log"
set -g @logging-path "$HOME/.tmux/logs/screenshots"
set -g @logging-filename "tmux-screenshot-#{session_name}-#{window_name}-#{pane_index}-%Y%m%d%H%M%S.log"# 显示prefix键有没有按下
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g status-right '#{prefix_highlight} | %a %Y-%m-%d %H:%M'# cron saving sessions
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-save-interval '5'# store sessions
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @resurrect-capture-pane-contents 'on'  # 开启恢复面板内容功能
set -g @resurrect-save-shell-history 'on'  # save shell history# display network bandwidth
set -g @plugin 'xamut/tmux-network-bandwidth'
set-option -g status-right "#{network_bandwidth}"set-window-option -g mode-key vi# bind keys for moving cursor to different panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -Rbind p pasteb  # 绑定p键为粘贴文本 (p键默认用于进入上一个窗口,不建议覆盖)# 与系统剪贴板的交互
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -i -f -selection primary | xclip -i -selection clipboard"# enable mouse mode
set-option -g mouse on# set terminal's color
set -g default-terminal "screen-256color"# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

保存退出,使用以下命令使配置文件生效

tmux source ~/.tmux.conf

插件管理

插件安装

首先修改配置文件,如set -g @plugin '...',表示添加你想要的插件

而插件的安装方式有两种

方式一

  • 终端输入tmux,启动tmux
  • 在tmux环境中输入以下命令,即可安装配置文件中的插件
<prefix>+I

 方式二:

不需要进入tmux终端,直接在终端执行以下命令

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

 插件更新

插件的更新方式也同样是两种

方式一:

tmux终端中输入

<prefix> + U

方式二:

直接在终端中输入

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

删除插件

  • 首先在配置文件中删除对应的行
  • 然后在终端执行
~/.tmux/plugins/tpm/bin/clean_plugins

插件使用

tmux复制粘贴插件

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

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

安装完成后默认使用鼠标选中后,按下ctrl+b+p复制所选内容

此外,如果bash终端或者zsh终端中配置了vim模式,那么将会让tmux进入vim模式进行编辑

zsh配置可见

Zsh 安装与配置-CSDN博客

方式为

  • 按下ctrl+b+esc,进入vim模式
  • 此时按方向键可使光标移动,然后按v,进入vim的可视模式
  • 移动光标选中内容,按y即可复制选中的内容
  • 按p,即可将光标选中的内容粘贴到本地

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

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

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

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

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

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

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

这只是一个便捷键绑定。

参考

Tmux使用手册 | louis blog

Tmux Plugin Manager使用及具体插件 - hongdada - 博客园

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455884.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8S系列-Kubernetes网络

一、Kubernetes网络模型 ​ Kubernetes网络模型设计的一个基础原则是&#xff1a;每个Pod都拥有一个独立的IP地址&#xff0c;并假定所有Pod都在一个可以直接连通的、扁平的网络空间中&#xff0c;不管它们是否运行在同一个Node&#xff08;宿主机&#xff09;中&#xff0c;都…

【Java SE 题库】LeetCode 热题 100--->两数之和

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. 题目 2. 解析 2.1 判断两个数相加是否等于目标值 2.2 相等后&#xff0c;如何返回两个下标 3. 代码 4. 小结 取于力扣-->LeetCode 热题 100 - 学…

nginx的配置

nginx 通过nginx来进行配置&#xff0c;功能如下 通过nginx的反向代理功能访问后端的网关资源通过nginx的静态服务器功能访问前端静态页面 nginx配置步骤&#xff1a; ①&#xff1a;解压下载下来的nginx的压缩包nginx-1.18.0.zip&#xff0c;安装完成并启动后&#xff0c;访…

面经之一:Synchronized与ReentrantLock区别

Synchronized与ReentrantLock是Java中用于实现线程同步的两种主要机制&#xff0c;它们各有特点和适用场景。以下是它们的主要区别&#xff1a; 实现方式&#xff1a; Synchronized&#xff1a;是Java语言内置的关键字&#xff0c;通过JVM层面的监视器&#xff08;Monitor&…

基于vue3封装了一个coverflow轮播图(层叠轮播图)组件

最近公司有这个需求, 但是网上找了一圈 , 没有合适的能用在vue3里面的、且长这样的组件, 干脆自己动手写了一个; 效果如下, 可以适配多张图片 ,小于五张会是平铺展示; 大于五张按顺序轮播 , 每次切换有动画 <template><div class"Swiper"><div v-i…

COSCon'24 志愿者招募令:共创开源新生活!

亲爱的开源爱好者们&#xff0c; 第九届中国开源年会&#xff08;COSCon24&#xff09;即将在北京中关村国家自主创新示范区会议中心于2024年11月2日至3日隆重举行。今年的主题是“Open Source, Open Life&#xff5c;开源新生活”&#xff0c;旨在探索开源技术如何在各个领域推…

APP综合应用之业务场景脚本测试任务(5)--多重继承与总结

在脚本中&#xff0c;有三个子类继承自父类Test_login,那么怎么同时获得三个子类的继承呢&#xff1f; 1、多重继承 下面用Test_flowdriver的子类继承自上面的三个子类。 新建一个工作流驱动的文件testtest_run_workflowV1.py 主要是创建驱动类时&#xff0c;要把三个子类都继…

VisionPro —— CogBlobTool斑点工具详解

一 CogBlobTool 简介 CogBlobTool 一个用于斑点检测和分析的工具。可以使用该工具检查图像的区域&#xff0c;并定位由灰度值有限范围内的像素组成的特征&#xff0c;这些特征的形状通常是不可预测的。检测和分析这些特征或斑点的过程称为斑点分析。您可以使用blob分析来提供有…

【C++】——list 容器的解析与极致实现

人的一切痛苦&#xff0c;本质上都是对自己的无能的愤怒。 —— 王小波 目录 1、list 介绍 2、list的使用 2.1 list 的构造 2.2 iterator 的使用 2.3 list 的修改 2.4一些特殊接口 2.5 迭代器失效问题 3、实现list 3.1底层结构 结点类 list类 迭代器类 3.2功能接…

MYSQL-SQL-04-DCL(Data Control Language,数据控制语言)

DCL&#xff08;数据控制语言&#xff09; DCL英文全称是Data Control Language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 一、管理用户 1、查询用户 在MySQL数据库管理系统中&#xff0c;mysql 是一个特殊的系统数据库名称&#xff0c;它并不…

信息安全工程师(54)网络安全审计主要产品与技术指标

前言 网络安全审计是对网络系统进行全面的安全评估和检查&#xff0c;以发现网络安全漏洞和威胁&#xff0c;并采取相应的措施进行修补和防护的重要过程。 一、网络安全审计主要产品 域智盾 简介&#xff1a;一款企业级功能强大的网络监控和审计工具&#xff0c;能够持续监控网…

ElasticSearch分片

本文内容参考了田雪松老师编著的《Elastic Stack应用宝典》 ElasticSearch作为一个搜索引擎&#xff0c;会存储海量的数据。而存储海量的数据&#xff0c;就要解决如何存储的问题&#xff0c;并且保证数据不会丢失&#xff0c;同时还需要保证数据检索的效率&#xff0c;尽可能…

【Linux】总线-设备-驱动模型

背景 前面&#xff0c;我们介绍了写驱动代码的一些常规步骤&#xff0c;并且也写了最基本的驱动代码&#xff0c;但是那些代码存在着问题&#xff0c;我们将硬件的信息都写进了驱动里了&#xff0c;如果我们在杂项设备驱动中控制led&#xff0c;那么会在硬件操作接口中包含硬件…

WPF+MVVM案例实战-设备状态LED灯变化实现

文章目录 1、项目创建2、UI界面布局1. MainWindow.xaml2、颜色转换器实现2.MainViewModel.cs 代码实现 3、运行效果4.源代码下载 1、项目创建 打开 VS2022 &#xff0c;新建项目 Wpf_Examples&#xff0c;创建各层级文件夹&#xff0c;安装 CommunityToolkit.Mvvm 和 Microsof…

STMicroelectronics 意法半导体芯片选型表

意法半导体作为全球知名的半导体厂商&#xff0c;其产品广泛应用于各个领域&#xff0c;从消费电子到工业控制&#xff0c;从汽车电子到通信设备&#xff0c;都能看到意法半导体芯片的身影。在电子硬件设计领域&#xff0c;芯片的选型至关重要。亿配芯城&#xff08;ICgoodFind…

(3) c++基本代码

main函数 main函数只有可执行程序才需要&#xff0c;如果是动态库等则无需main函数。 main函数标准的写法是 #include <iostream> using namspace std; int main(void) {// 业务代码return 0; } 当然以上代码只是最简单的案例&#xff0c;其中代表main函数值是int&#…

网络编程(21)——通过beast库快速实现http服务器

目录 二十一、day21 1. 头文件和作用域重命名 2. reponse时调用的一些函数 3. http_connection a. 构造函数 b. start() c. process_request() d. create_response() e. create_post_response() f. write_response() 4. Server 5. 主函数 6. 测试 1&#xff09;测…

参加了十多个面试,一个offer也没拿到...为什么?

前几天&#xff0c;一个小伙伴留言说&#xff1a;自己面试了10多家企业了&#xff0c;愣是没有拿到一个offer&#xff0c;究竟是哪里出了问题&#xff1f; 这两天笔者抽空整理好了答案&#xff0c;借这位同学的问题&#xff0c;给大家做一个简单的剖析&#xff1a;为什么参加了…

【Blender】 学习笔记(一)

文章目录 参考概念原点 Origin游标 轴心点坐标操作默认快捷键两个比较好用的功能渲染器元素不可选&#xff08;防止误选&#xff09; 参考 参考b站视频&#xff1a;【Kurt】Blender零基础入门教程 | Blender中文区新手必刷教程(已完结) 概念 模型、灯光、摄像机 原点 Origin…

ArcGIS无插件加载(无偏移)在线天地图高清影像与街道地图指南

在地理信息系统&#xff08;GIS&#xff09;的应用中&#xff0c;加载高清影像与街道地图对于地图制图、影像查阅、空间数据分析等工作至关重要。天地图作为官方出品的地图服务&#xff0c;以其标准的数据、较快的影像更新速度等特点受到广泛欢迎。以下是如何在ArcGIS中无插件加…