“ 很久之前学习tmux的一篇笔记
前言
tmux与命令行软件如Item2,cmder略有不同。当我们连接ssh连接远程服务器,进行一些git上传或编译操作时,如果ssh突然中断,那么造成的损失就是一切又要重头来做。笔者曾经的解决方案是将任务用nohup放在后台,输出的信息放到日志文件去。这样做带来的问题是之前终端信息丢失,而tmux刚可以解决这个痛点,一旦你建立一个session,并在里面进行工作,这个session永远不会推出,就算与服务器断网这个session会完好保存。当然,tmux所能完成的工作远不止这些。
tmux可以在不同命令行中启动,有必要对tmux的前缀键进行解释。所谓前缀键,就是按了这种键组合,才表示选择了tmux,之后的键对应一种功能。tmux中预先定义前缀键为Ctrl+B
,我们这里用<prefix>
表示。比如<prefix> %
表示先按Ctrl
,再按B
键,再%
键,其完成的功能就是竖直分屏。
基础概念
tmux 中有三个重要概念:
- 会话(session): 建立一个 tmux 工作区会话,会话可以长期驻留,重新连接服务器不会丢失,我们只需重新 tmux attach 到之前的工作区就可以恢复会话
- 窗口(window): 容纳多个窗格
- 窗格(pane): 可以在窗口中分成多个窗格
![6e5ddefb6487a694121e20df5c4c3e48.png](https://i-blog.csdnimg.cn/blog_migrate/16d0610f02373ba46d51e584fee66194.png)
会话管理
新建会话
第一个启动的 Tmux 窗口,编号是0
,第二个窗口的编号是1
,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。
使用编号区分会话,不太直观,更好的方法是为会话起名。
$ tmux new -s <session-name>
上面命令新建一个指定名称的会话。
分离会话
在 Tmux 窗口中,按下<prefix> d
或者输入tmux detach
命令,就会将当前会话与窗口分离。
$ tmux detach
上面命令执行后,就会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。
tmux ls
命令可以查看当前所有的 Tmux 会话。
$ tmux ls
# or
$ tmux list-session
接入会话
tmux attach
命令用于重新接入某个已存在的会话。
# 使用会话编号
$ tmux attach -t 0
# 使用会话名称
$ tmux attach -t <session-name
杀死会话
tmux kill-session
命令用于杀死某个会话。
# 使用会话编号
$ tmux kill-session -t 0
# 使用会话名称
$ tmux kill-session -t <session-name
切换会话
tmux switch
命令用于切换会话。
# 使用会话编号
$ tmux switch -t 0
# 使用会话名称
$ tmux switch -t <session-name
重命名会话
tmux rename-session
命令用于重命名会话。
$ tmux rename-session -t 0 <new-name>
上面命令将0号会话重命名。
会话快捷键
下面是一些会话相关的快捷键。
<prefix> d
:分离当前会话。<prefix> s
:列出所有会话。<prefix> $
:重命名当前会话。
窗格管理
窗格(pane)快捷键
<prefix> %
:划分左右两个窗格。<prefix> "
:划分上下两个窗格。<prefix>
:光标切换到其他窗格。``是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓
。<prefix> ;
:光标切换到上一个窗格。<prefix> o
:光标切换到下一个窗格。<prefix> {
:当前窗格左移。<prefix> }
:当前窗格右移。<prefix> Ctrl+o
:当前窗格上移。<prefix> Alt+o
:当前窗格下移。<prefix> x
:关闭当前窗格。<prefix> !
:将当前窗格拆分为一个独立窗口。<prefix> z
:当前窗格全屏显示,再使用一次会变回原来大小。<prefix> Ctrl+
:按箭头方向调整窗格大小。<prefix> q
:显示窗格编号。
窗口(window)快捷键
<prefix> c
:创建一个新窗口,状态栏会显示多个窗口的信息。<prefix> p
:切换到上一个窗口(按照状态栏上的顺序)。<prefix> n
:切换到下一个窗口。<prefix>
:切换到指定编号的窗口,其中的``是状态栏上的窗口编号。<prefix> w
:从列表中选择窗口。<prefix> ,
:窗口重命名。
常用技巧
翻屏
- 进入tmux翻屏模式:先按
ctrl +b
,松开,然后再按[
- 操作同vim:jkhl上下左右
最简操作
- 新建会话
tmux new -s my_session
。 - 在 Tmux 窗口运行所需的程序。
- 按下快捷键 d将会话分离。
- 下次使用时,重新连接到会话
tmux attach -t my_session
。
参考资料
[ 1 ] A Quick and Easy Guide to tmux https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
[ 2 ] 阮一峰大神写的tmux使用博客http://www.ruanyifeng.com/blog/2019/10/tmux.html
[ 3 ] 手把手教你使用终端复用神器 Tmux,丢掉鼠标不是梦[视频]https://zhuanlan.zhihu.com/p/43687973
[ 4 ] cheatsheet参考 https://gist.github.com/MohamedAlaa/2961058