1

正在发生的事情的描述:

  • 最小化最大化窗格时,此消息出现在终端窗口的底部:"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可以正确执行。

感谢您的帮助并随时回答这个问题,所以我可以给你信用!

4

1 回答 1

1

你想allow-rename设置为关闭,至少对于那个窗口:

set-window-option -g allow-rename off
于 2012-09-29T09:01:23.770 回答