当我调整包含 tmux 会话的终端窗口的大小时,tmux 不会检测到此更改,但会继续在旧窗口边界内正常运行。 tmux ls
在我附加之前没有显示其他附加的客户端:
$ tmux ls
admin: 1 windows (created Mon Apr 27 15:12:58 2015) [272x75]
apt-runs: 3 windows (created Mon Apr 27 15:17:50 2015) [272x75]
lal-dev: 4 windows (created Tue Jun 9 12:24:25 2015) [238x73]
Run Code Online (Sandbox Code Playgroud)
这只发生在特定主机(运行 tmux 1.9a)上,分离/重新连接可以解决问题(直到窗口再次调整大小)。这可能是什么原因造成的?
调整大小前:
调整大小后:
当命令的输出超过一行时,我对这条消息很熟悉。
然而,在我使用的其中一个系统上,我每次用 书写时都会看到它:w
,尽管有足够的水平空间来放置消息。例如:
这似乎只发生在我在 tmux 会话中使用 vim 时,但我不知道为什么会发生这种情况。vim 和 tmux 的所有其他方面似乎都运行良好。事实证明它与 tmux 无关。
更新:我在 vimrc 中将其追踪到以下行:
set backupdir=/tmp
Run Code Online (Sandbox Code Playgroud)
使用仅包含此行的 vimrc 足以在写入文件时触发消息。有趣的是,它仅在我写入现有文件时发生。
为什么会发生这种情况,并且仅在这台机器上?
我想查看 的输出git status -s
以确定树中是否有任何未跟踪的文件。我尝试了以下测试,但正则表达式不匹配。为什么不?
$ git status -s
## master
M updated-file
?? new-file
$ [[ $(git status -s) =~ ^\?\? ]] || echo "no match"
no match
Run Code Online (Sandbox Code Playgroud)
我还希望能够以相同的方式测试添加/修改/删除的文件。我通常只是^\s*[AMD]
为此目的使用类似的东西,但这也不起作用。是什么赋予了?