首页 > 运维 > linux运维 > 正文

好用的终端复用神器-Tmux

雪夜
发布: 2025-07-14 08:32:59
原创
554人浏览过

前言

许久之前就听说过tmux,但是一直没上手,直到最近需要一直在linux下完成一些任务,我才切实感受到了tmux的优点:任意分屏、保存工作

就单单这两点,就足够实用了。分屏,曾今还十分痴迷i3wmdwm这样的窗口管理工具,尤其是dwm的操作逻辑,大大提升linux工作效率。其他详情可以查看阮一峰大佬的文章非常的通俗易懂且详细

效果

好用的终端复用神器-Tmux
好用的终端复用神器-Tmux

安装

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">brew install tmux  #macsudo apt install tmux  #Debian/Ubuntusudo yum install tmux  #CentOS</code>
登录后复制

美化

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">cdgit clone https://github.com/gpakosz/.tmux.gitln -s -f .tmux/.tmux.confcp .tmux/.tmux.conf.local .#开启鼠标set-option -g mouse on</code>
登录后复制

关于字体

若实现如下效果:

好用的终端复用神器-Tmux

最好使用nerd fonts这里推荐一款我一直在使用的nerd font

Fira Code Regular Nerd Font

同时修改~/.tmux.conf.local153-156行,删除前面的#

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">tmux_conf_theme_left_separator_main='\uE0B0'  # /!\ you don't need to install Powerlinetmux_conf_theme_left_separator_sub='\uE0B1'   #   you only need fonts patched withtmux_conf_theme_right_separator_main='\uE0B2' #   Powerline symbols or the standalonetmux_conf_theme_right_separator_sub='\uE0B3'  #   PowerlineSymbols.otf font, see README.md</code>
登录后复制
使用

tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务器,此时默认将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。会话、窗口、面板之间的联系如下:

一个tmux session(会话)可以包含多个window(窗口),窗口默认充满会话界面,因此这些窗口中可以运行相关性不大的任务。

一个window又可以包含多个pane(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。

Tmux会话命令代码语言:javascript代码运行次数:0运行复制
<code class="javascript">#新建会话tmux # 新建一个无名称的会话tmux new -s demo # 新建一个名称为demo的会话#断开当前会话tmux detach # 断开当前会话,会话在后台运行#进入之前的会话tmux a # 默认进入第一个会话tmux a -t demo # 进入到名称为demo的会话#关闭会话tmux kill-session -t demo # 关闭demo会话tmux kill-server # 关闭服务器,所有的会话都将关闭#查看所有会话tmux list-session # 查看所有会话tmux ls # 查看所有会话,提倡使用简写形式</code>
登录后复制

切换会话也可以使用ctrl b + w/s查看会话列表,按上下键(⬆︎⬇︎)或者鼠标滚轮,可选中目标会话,按左右键(⬅➡)可收起或展开会话的窗口,选中目标会话或窗口后,按回车键即可完成切换。

好用的终端复用神器-Tmux
Tmux快捷指令

常用指令

系统指令

窗口(window)指令

面板(pane)指令

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">tmux new -s "name"          #创建sessiontmux attach -t "name"       #重新连接sessiontmux switch -t "name"       #切换会话tmux kill-session -t "name" #杀死会话ctrl b %   #横向分屏ctrl b "   #纵向分屏ctrl b o   #选择窗格ctrl d     #关闭ctrl b d   #隐藏所有sessionctrl b s/w #选择sessionctrl b m   #打开/关闭鼠标控制</code>
登录后复制

前缀

指令

描述

Ctrl+b

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店

?

显示快捷键帮助文档

Ctrl+b

d

断开当前会话

Ctrl+b

D

选择要断开的会话

Ctrl+b

Ctrl+z

挂起当前会话

Ctrl+b

r

强制重载当前会话

Ctrl+b

s

显示会话列表用于选择并切换

Ctrl+b

:

进入命令行模式,此时可直接输入ls等命令

Ctrl+b

[

进入复制模式,按q退出

Ctrl+b

]

粘贴复制模式中复制的文本

Ctrl+b

~

列出提示信息缓存

前缀

指令

描述

Ctrl+b

c

新建窗口

Ctrl+b

&

关闭当前窗口(关闭前需输入y or n确认)

Ctrl+b

0~9

切换到指定窗口

Ctrl+b

p

切换到上一窗口

Ctrl+b

n

切换到下一窗口

Ctrl+b

w

打开窗口列表,用于且切换窗口

Ctrl+b

,

重命名当前窗口

Ctrl+b

.

修改当前窗口编号(适用于窗口重新排序)

Ctrl+b

f

快速定位到窗口(输入关键字匹配窗口名称

前缀

指令

描述

Ctrl+b

"

当前面板上下一分为二,下侧新建面板

Ctrl+b

%

当前面板左右一分为二,右侧新建面板

Ctrl+b

x

关闭当前面板(关闭前需输入y or n确认)

Ctrl+b

z

最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)

Ctrl+b

!

将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)

Ctrl+b

;

切换到最后一次使用的面板

Ctrl+b

q

显示面板编号,在编号消失前输入对应的数字可切换到相应的面板

Ctrl+b

{

向前置换当前面板

Ctrl+b

}

向后置换当前面板

Ctrl+b

Ctrl+o

顺时针旋转当前窗口中的所有面板

Ctrl+b

方向

键 移动光标切换面板

Ctrl+b

o

选择下一面板

Ctrl+b

空格

键 在自带的面板布局中循环切换

Ctrl+b

Alt+方向键

以5个单元格为单位调整当前面板边缘

Ctrl+b

Ctrl+方向键

以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖)

Ctrl+b

t

显示时钟

参考Tmux使用手册

以上就是好用的终端复用神器-Tmux的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号