tmux

来自百合仙子's Wiki
跳转到导航 跳转到搜索

命令

会话

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 与窗口格子的对应关系

[1]

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 可能有内存泄漏,长时间运行会无故占用大量内存

相似软件

外部链接

其它

参考资料