前言
许久之前就听说过tmux,但是一直没上手,直到最近需要一直在linux下完成一些任务,我才切实感受到了tmux的优点:任意分屏、保存工作
就单单这两点,就足够实用了。分屏,曾今还十分痴迷i3wm和dwm这样的窗口管理工具,尤其是dwm的操作逻辑,大大提升linux工作效率。其他详情可以查看阮一峰大佬的文章非常的通俗易懂且详细
效果


安装
代码语言: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>
关于字体
若实现如下效果:

最好使用nerd fonts这里推荐一款我一直在使用的nerd font
Fira Code Regular Nerd Font
同时修改~/.tmux.conf.local153-156行,删除前面的#
<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(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。
<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查看会话列表,按上下键(⬆︎⬇︎)或者鼠标滚轮,可选中目标会话,按左右键(⬅➡)可收起或展开会话的窗口,选中目标会话或窗口后,按回车键即可完成切换。

常用指令
系统指令
窗口(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
?
显示快捷键帮助文档
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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号