2

我想将 Tmuxrun-shell命令中使用的 shell 的大小设置为与当前显示的窗口相同的列数。

使用以下命令

bind \ run-shell "tput cols"

我看到列大小始终设置为 80。如何将其更改为与当前窗口相同?

我计划使用它来更新我当前的键绑定,以将复制缓冲区回显到我系统的粘贴板中。(我在 Mac 上)

bind \ run-shell "reattach-to-user-namespace bash --noprofile -c 'tmux show-buffer -b 0 | pbcopy'"

这目前将所有行包装为 80 个字符。排长队很烦人。

4

1 回答 1

0

包装来自使用show-buffer. 最好save-buffer用于这种情况;它不会以任何方式“按摩”数据(show-bufferstrvis(3) 编码也是如此)。

缓冲区命令的默认设置是使用第一个缓冲区(索引 0);这-b 0实际上是默认设置,因此您可以将其关闭。

没有必要使用这样的额外外壳。只需直接在pbcopy上使用包装器。

bind \ run-shell "tmux save-buffer - | reattach-to-user-namespace pbcopy"

在回答您的实际问题时,没有快速简便的方法可以满足您的要求。进程启动的环境run-shell源自服务器的“全局”环境,实际上并不是任何特定会话、窗口或窗格的一部分。当前无法绝对知道在run-shell通过绑定执行 a 时哪个会话、窗口或窗格处于活动状态。

于 2013-01-03T03:55:10.077 回答