Tmux 是一个用于在终端窗口中运行多个终端会话的工具,即终端复用软件(terminal multiplexer)。
在 Tmux 中可以根据不同的工作任务创建不同的会话,每个会话又可以创建多个窗口来完成不同的工作,每个窗口又可以分割成很多小窗口。这些功能都是非常实用的。
在 Mac OS 中安装:
$ brew install tmux
开启 oh-my-zsh tmux 插件:
开启后提供以下快捷命令:
ta <session-name>
:接入某个已存在的会话
ts <session-name>
:新建一个指定名称的会话
tl
:查看当前所有的 Tmux 会话
tksv
:用于杀死全部会话
tkss <session-name>
:用于杀死某个会话
最简操作流程
- 新建会话
tmux new -s my_sessio
n。
- 安装 zsh tmux 插件后可使用
ts my_session
- 在 Tmux 窗口运行所需的程序。
- 按下快捷键
Ctrl+b d
将会话分离。
- 下次使用时,重新连接到会话
tmux attach-session -t my_session
。
- 安装 zsh tmux 插件后可使用
ta my_session
常用快捷键:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| # session Ctrl+b d:分离当前会话。 Ctrl+b s:列出所有会话(切换回话)。 Ctrl+b $:重命名当前会话。
# pane Ctrl+b %:划分左右两个窗格。 Ctrl+b ":划分上下两个窗格。 Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。 Ctrl+b ;:光标切换到上一个窗格。 Ctrl+b o:光标切换到下一个窗格。 Ctrl+b {:当前窗格左移。 Ctrl+b }:当前窗格右移。 Ctrl+b Ctrl+o:当前窗格上移。 Ctrl+b Alt+o:当前窗格下移。 Ctrl+b x:关闭当前窗格。 Ctrl+b !:将当前窗格拆分为一个独立窗口。 Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。 Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。 Ctrl+b q:显示窗格编号。
# window Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。 Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。 Ctrl+b n:切换到下一个窗口。 Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。 Ctrl+b w:从列表中选择窗口。 Ctrl+b ,:窗口重命名。
|
解决滚轮无效的问题
新建 ~/.tmux.conf
配置文件后写入如下内容:
1 2 3 4
| set-option -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'" bind -n WheelDownPane select-pane -t= \; send-keys -M
|
需杀掉全部会话(tksv),重新启动新的会话后以上配置才能生效。
修改历史记录上限
历史记录默认上限为 2000 行,可通过在配置文件中加入如下配置来进行修改:
set-option -g history-limit 10000
参考链接
http://www.ruanyifeng.com/blog/2019/10/tmux.html