提高终端生产力神器 - tmux

简介: 提高终端生产力神器 - tmux

tmux github

  • tmux 是一种终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端
  • tmux 可以从屏幕上分离,并继续在后台运行,然后稍后重新连接

一键安装

centos 系列可以直接用 yum

debian 系列可以直接用 apt-get

yum install -y tmux
apt-get install -y tmux

编译安装

  • centos 7 使用 yum 安装的版本会比较低,只有 1.8
  • 编译需要用到 libevent,虽然 centos 7 的源使用的也是 2.x 的版本,还是会出现 configure: error: "libevent not found",这里就先提前编译 libevent 2.1.12-stable

编译 libevent

下载步骤,我就省略不写了

tar xf libevent-2.1.12-stable.tar.gz
cd libevent-2.1.12-stable/
./configure --disable-openssl
make && make install

编译 tmux

编译 tmux 还需要用到 ncurses

yum install -y ncurses-devel gcc make
tar xf tmux-3.3.tar.gz
cd tmux-3.3
./configure
make && make install

验证 tmux 是不是可用

tmux -V

如果出现报错:tmux: error while loading shared libraries: libevent_core-2.1.so.7: cannot open shared object file: No such file or directory那是因为我们是编译出来的,不在系统的默认 lib 库的路径下,做一个软连接就好了

ln -s /usr/local/lib/libevent_core-2.1.so.7.0.1 /lib64/libevent_core-2.1.so.7

tmux 必知必会

  • session 通过 tmux 命令创建的一个会话,里面可以包含多个 windows 和 pane,是一个大的集合
  • windows当成浏览器的 tab 来理解,一个浏览器有多个 tab 页面
  • pane窗格,在一个 windows 里面可以划分多个窗格,可以水平拆分,可以垂直拆分

image.jpeg

替换 tmux 皮肤

  • 为什么要高版本的 tmux,是因为这里要用的皮肤,要求 tmux 的版本不能低于 2.4 ,所以就直接装了 3.3
  • gpakosz/.tmux
git clone https://github.com/gpakosz/.tmux.git
cp .tmux/.tmux.conf ~/
cp .tmux/.tmux.conf.local ~/

开启鼠标模式

~/.tmux.conf 文件里面增加下面的内容就可以了,如果已经开过会话了,需要把会话都关了才会生效,如果需要鼠标模式,可以提前配置好

set -g mouse on

在鼠标模式下,可以在窗格通过长按右键来选择一些指令,指令高亮时,松开右键来实现选择的效果,比如:

  • Horizontal Split垂直拆分
  • Vertical Split水平拆分
  • Swap Up水平拆分为上下窗格互换,垂直拆分为左右窗格互换
  • Kill杀死当前窗格
  • 也可以在 windows 名称和 session 名称的位置右键来达到重命名和新建的效果

session 常用命令

新建 session

# 新建会话,不指定名称的情况下,会话名称是纯数字,从 0 开始
tmux
# 新建一个名为 study 的会话
tmux new -s study

查看当前有哪些 session

tmux ls

进入指定的 session

tmux a -t study

关闭 session

# 关闭指定的 session
tmux kill-session -t study
# 关闭所有 session
tmux kill-server


常用快捷键

session 内常用快捷键

tmux 的快捷键前缀是 ctrl + b ,要先按好前缀,然后再按指令,同时按是不生效的

前缀 指令 用途
ctrl + b ? 显示快捷键的帮助文档
ctrl + b d 断开当前 session
可以通过 tmux a -s <session-name> 重新连接
ctrl + b D 选择需要断开的 session
ctrl + b s 显示并切换到指定的 session
ctrl + b : 命令行模式,可以直接使用 tmux 的命令
比如在命令行模式输入 ls 等同于在外面输入了 tmux ls

windows 常用快捷键

这个 windowstmux 里面的 windows

前缀 指令 用途
ctrl + b c 新建 windows
ctrl + b & 关闭当前 windows,需要输入 y 或 n 来确认
ctrl + b 0-9 切换到指定编号的 windows
ctrl + b w 打开 windows 列表
ctrl + b , 重命名当前 windows 名称
ctrl + b . 修改当前 windows 编号

pane 常用快捷键

前缀 指令 用途
ctrl + b 水平分割,下方新建窗格
ctrl + b % 垂直切割,右侧新建窗格
ctrl + b x 关闭当前窗格,需要输入 y 或 n 来确认
ctrl + b z 当前窗格最大化
再按一次当前快捷键后恢复到之前的样子
ctrl + b ! 两个以上窗格时,将当前窗格移动到新 windows 打开
ctrl + b ; 切换到最后一次使用的窗格
ctrl + b q 显示窗格编号,在编号消失前按对应的数字编号可以切换到指定的窗格
ctrl + b { 当前窗格编号向前一位
如果当前窗格是第一位则向前变成最后一位,其他窗格不变,窗格编号也会互换
ctrl + b } 同上,表示当前窗格编号向后一位
ctrl + b ctrl + o 顺时针旋转所有窗格位置
ctrl + b 方向键 切换到方向键对应的窗格
ctrl + b o 根据窗格编号切换到下一个窗格
ctrl + b t 显示时钟,单击后消失

将这个生产力工具推荐给大家,祝大家 1024 快乐,永不秃头

目录
相关文章
|
数据采集 Web App开发 测试技术
如何避免反爬虫程序检测到爬虫行为?
这段内容介绍了几种避免被反爬虫程序检测的方法:通过调整请求频率并遵循网站规则来模拟自然访问;通过设置合理的User-Agent和其他请求头信息来伪装请求;利用代理IP和分布式架构来管理IP地址;以及采用Selenium等工具模拟人类的浏览行为,如随机点击和滚动页面,使爬虫行为更加逼真。这些技巧有助于降低被目标网站识别的风险。
|
Android开发 开发者
手把手教你使用腾讯的热修复框架-Tinker
手把手教你使用腾讯的热修复框架-Tinker
1385 0
手把手教你使用腾讯的热修复框架-Tinker
|
人工智能 自然语言处理 搜索推荐
AI对话像真人!交交:上海交大推出全球首个口语对话情感大模型,支持多语言与实时音色克隆
上海交通大学推出的交交是全球首个纯学术界自研的口语对话情感大模型,具备多语言交流、方言理解、角色扮演和情感互动等能力,通过创新技术实现端到端语音对话和实时音色克隆。
1299 14
AI对话像真人!交交:上海交大推出全球首个口语对话情感大模型,支持多语言与实时音色克隆
|
存储 安全 关系型数据库
最好用的Mysql数据库客户端Sequel Pro使用及崩溃解决方案
最好用的Mysql数据库客户端Sequel Pro使用及崩溃解决方案
1445 0
最好用的Mysql数据库客户端Sequel Pro使用及崩溃解决方案
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
2154 2
|
4月前
|
前端开发 网络安全
tmux 终端效率提升 300% 的实战指南
本文手把手教你从零掌握tmux:解决多终端切换痛点,详解安装配置、鼠标支持、vi模式、核心快捷键(Ctrl+a+c/n/p/&quot;/%/o等),并提供可复用的自动化脚本,助你1个终端高效管理多个项目,远程断连不丢工作,效率提升300%!
|
分布式计算 Hadoop Java
java.io.IOException: Timed out waiting 20000ms for a quorum of nodes to respond
一:任务: /datacenter/shell/user/full/bdl_social_test1.sh 跑全量数据时!Namenode挂掉! 二:报错日志: /var/log/hadoop-hdfs/hadoop-hdfs-namenode-yhbd01.
4956 0
|
机器学习/深度学习 Rust 编译器
神秘编程语言 Rust 背后究竟隐藏着怎样的生态宝藏?框架、工具链与社区资源大揭秘!
【8月更文挑战第31天】Rust 语言凭借卓越性能与内存安全性吸引了众多开发者。其生态系统包括多种框架(如 Actix-web、Rocket 和 Warp)、强大的工具链(如包管理器 Cargo 和高效编译器)以及丰富的社区资源。Cargo 简化了项目管理,编译器提供详尽错误信息并支持增量编译,而活跃的社区则为学习与交流提供了广阔平台,涵盖官方文档、博客、论坛及大量 GitHub 开源项目。随着更多开发者的加入,Rust 生态系统将持续繁荣发展。
735 0
|
云安全 安全 搜索推荐
身份证实名认证平台有哪些
实名认证是指通过验证用户的个人身份信息来确认其真实身份的过程。在互联网时代中,实名认证具有很大的重要性和实用价值,它可以保护用户的个人隐私和安全,有效预防欺诈行为和虚假交易,提高整个网络社区的可信度和安全性。