¶tmux
¶基本概念
通常,终端窗口和会话是绑定的,打开和关闭终端就意味着会话的开始和结束。
tmux则可以解绑终端和会话,这样每个会话可以拥有多个终端,终端也可以和会话分离以及重新接入。
- 服务器:一个tmux服务器可以管理多个会话
- 会话 (session):一个会话可以有多个窗口,但同时只能显示一个窗口(可以类比成多桌面,不同的桌面干不同的事情)
- 窗口 (window):一个窗口可以分割成多个窗格
- 窗格 (pane):即之前的一个终端窗口
1 | install |
注:还是建议从源码编译,apt安装的版本太旧,导致每次启动tmux的时候都会更新一遍tpm。
1 | install |
tmux的默认键位不太友好,选择oh my tmux
的配置。
1 | cd |
在.tmux.conf.local
中添加下面配置:
1 | set -g mouse on |
¶会话操作
tmux
:打开一个tmux服务器exit
:退出tmux new -s name
,alias tnew="tmux new -s"
:新建一个名为name的会话tmux ls
:列出所有会话tmux attach -t id/name
:恢复会话(只有一个会话可以不用输入-t
)tmux kill-session -t id/name
:关闭会话tmux switch -t id/name
:切换会话
¶窗格操作
C-a
:前缀键(也可以是默认的C-b
;注意是先按下,然后松开,再按后面的键) -
:上下分窗格_
:左右分窗格x
,C-d
:关闭当前窗格z
:最大化/恢复窗格hjkl
:窗格移动HJKL
:窗格大小调整<
/>
:交换窗格位置d
:分离,后续可以再attach回来
¶窗口操作
c
:新建窗口C-h
/C-l
:浏览窗口<number>
:跳转到该窗口,
:窗口重命名
¶工作流
通常开一个tmux,然后用<prefix>-
/<prefix>_
分割多个窗格即可。
有时候要跑一些长任务,可以运行之后<prefix>d
进行detach。
¶无配置版
1 | tmux |
¶zellij
1 | install |
这里窗口被叫作标签(tab;感觉更清晰),窗格仍然是pane。
¶标签操作
C-t
起始n
:新建标签x
:关闭当前标签
C-o
:分离当前标签(和tmux一样,可以zellij attach <name>
回来)
¶窗格操作
C-p
起始n
:新建窗格(会自动选择垂直还是水平划分)x
:关闭当前窗格
C-n-<+|->
:改变当前窗格大小(这个不能用鼠标操作)C-h-<h|j|k|l>/方向键
:浏览窗格
总体感觉一般般,默认的配色我也不太喜欢,不如tmux好用。
C-q
:退出