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


安装
代码语言:javascript代码运行次数:0运行复制
brew install tmux #macsudo apt install tmux #Debian/Ubuntusudo yum install tmux #CentOS
美化
代码语言:javascript代码运行次数:0运行复制
cdgit clone https://github.com/gpakosz/.tmux.gitln -s -f .tmux/.tmux.confcp .tmux/.tmux.conf.local .#开启鼠标set-option -g mouse on
关于字体
若实现如下效果:

最好使用nerd fonts这里推荐一款我一直在使用的nerd font
Fira Code Regular Nerd Font
同时修改~/.tmux.conf.local153-156行,删除前面的#
代码语言:javascript代码运行次数:0运行复制
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
使用
tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务器,此时默认将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。会话、窗口、面板之间的联系如下:
一个tmux session(会话)可以包含多个window(窗口),窗口默认充满会话界面,因此这些窗口中可以运行相关性不大的任务。
一个window又可以包含多个pane(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。
Tmux会话命令代码语言:javascript代码运行次数:0运行复制
#新建会话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 # 查看所有会话,提倡使用简写形式
切换会话也可以使用ctrl b + w/s查看会话列表,按上下键(⬆︎⬇︎)或者鼠标滚轮,可选中目标会话,按左右键(⬅➡)可收起或展开会话的窗口,选中目标会话或窗口后,按回车键即可完成切换。

Tmux快捷指令
常用指令
系统指令
窗口(window)指令
面板(pane)指令
代码语言:javascript代码运行次数:0运行复制
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 #打开/关闭鼠标控制
前缀
指令
描述
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的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/25739.html
微信扫一扫
支付宝扫一扫