tmux
跳转到导航
跳转到搜索
命令
会话
has
- 检查是否已经存在会话
new
- 打开新的会话。使用
-t
指定会话。如创建一个与0号会话具有相同窗口的新会话:
tmux new -t 0
kill-session
- 关闭一个会话
switchc, switch-client
- 切换到另一个会话。使用
-t
指定会话。
输出和历史
capture-pane, capturep
- 捕获 pane 的当前显示内容(默认)或者历史(使用
-S
和-E
指定起始和结束行数,零为可见的第一行,负数为历史中者)。使用-p
直接显示出来(版本 1.6 中不可用);否则保存到缓冲区(buffer)中,可使用show-buffer
命令输出
显示 pid 与窗口格子的对应关系
tmux list-panes -a -F "#{pane_pid} #I.#P"
设置
环境变量
设置一个服务器变量,在update-environment
选项中追加一个新的环境变量:
set -sga update-environment " DBUS_SESSION_BUS_ADDRESS"
此设置使 tmux 更新 dbus 的会话连接地址,就像DISPLAY
等变量那样。
监视活动
当指定窗口停止活动 1 秒后通知:
tmux setw -t 0 monitor-silence 1
分隔框
在多个分隔框内同步输入
开启如下窗口选项可以让键盘输入同时作用于本窗口的所有分隔框[2]
setw synchronize-panes [on]
窗口的自动命令
默认automatic-rename
全局启动,意味着当窗口中执行的命令改变时,窗口的名称会自动改变。当窗口被创建时被指定名称、窗口标题被ANSI转义序列更改、被手动更改之后,此选项会局部于该窗口禁用。可以重新开启之:
setw automatic-rename on
或者取消此窗口的局部值:
setw -u automatic-rename
历史记录
设置历史记录的长度限制(只对新窗口生效):
tmux set -g history-limit 20000
特有 ANSI 转义序列
直接发送任意序列到外面的终端:
# send $data
printf "\\ePtmux;\\e$data\\e\\\\"
# send ^[[>c i.e. query terminal version info
printf '\ePtmux;\e\e[>c\e\\'
在 Mac OS X 下的使用
在 Mac OS X 下,tmux 中启动的 GUI 程序中剪贴板的使用会有问题。可以使用这个程序解决。
注意事项
- tmux 1.6 可能有内存泄漏,长时间运行会无故占用大量内存
相似软件
外部链接
- TMUX – The Terminal Multiplexer (Part 1) | Hawk Host Blog, Part 2
- Tmux 1.7 - Bracketed Paste Mode 貼進 Vim - 沒穿方服
- Zooming tmux panes - Arabesque (tmux 1.8)
- sk1418/retmux, a tmux backup/reload tool.
- tmuxp: tmux session manager