正在发生的事情的描述:
- 最小化最大化窗格时,此消息出现在终端窗口的底部:
"Session not found: tmp"
- 窗格似乎返回到与初始/上一个会话相同的位置
- 但是新的 tmp 窗口(在窗格第一次最大化时打开)无法关闭并出现在窗口列表中(在 tmux 底部的状态栏中)
我的预感是kill-window -t tmp
(在下面的 .tmux.conf 代码中)是事情中断的地方。由于在 tmp 窗口中执行命令似乎会重命名窗口,kill-window -t tmp
因此不起作用。
所以我的问题是:我怎样才能改变 .tmux.conf 以防止这种情况发生?
重新创建错误的步骤:
(注意:您需要修改 .tmux.conf 才能使这些命令正常工作)
- 启动 tmux 并使用至少两个窗格创建会话
- 使用最大化一个窗格
[prefix] + [up]
- 在最大化窗格中执行 shell 命令 (*)
- 使用最小化窗格
[prefix] + [down]
(*) 如果窗格在不执行 shell 中的命令的情况下最大化和最小化,则不会出现此问题。即,如果您正在窗格中编辑文件,则最大化该窗格,并且仅编辑/保存文件(不退出然后执行另一个命令),然后最小化-不会发生错误。
显示发生了什么的 30 年代 youtube 剪辑:http: //youtu.be/WMdOeJdOYuU
可能导致错误的代码(来自 ~/.tmux.conf):
unbind Up
bind Up new-window -d -n tmp \; swap-pane -s tmp.0 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.0 \; kill-window -t tmp
[编辑:这是解决方案]
感谢有帮助的#tmux irc'er(谁有这个链接,我很乐意给谁)这个问题得到了解决。我还没有足够的信誉来回答这个问题,所以我在这里发布解决方案。
解决方案是添加set-window-option -g allow-rename off
到 ~/.tmux.conf
这工作 b/ctmp
不会被重命名,因此kill-window -t tmp
可以正确执行。
(感谢您的帮助并随时回答这个问题,所以我可以给你信用!)