正在发生的事情的描述:
- 最小化最大化窗格时,此消息显示在终端窗口的底部:
"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-ircer(他有这个链接,我很乐意称赞他),这个问题解决了。我还没有足够的可信度来回答这个问题,所以我在这里发布了解决方案。
解决方案是将set-window-option -g allow-rename off
添加到~/.tmux.conf
这是有效的b/ctmp
不会被重命名,因此kill-window -t tmp
可以正确执行。
(thx寻求帮助,请随时回答,这样我就可以称赞你了!)
您希望allow-rename
设置为关闭,至少对于以下一个窗口:
set-window-option -g allow-rename off