更新:我一直在玩这个,似乎 tmux 的clear-history
命令可能被破坏了。
如果我在0.0
和处打开了两个窗格,并在then (in )0.1
中输入 18 个命令,则运行0.1
0.0
tmux send-keys -t 0.1 q C-u "clear; tmux clear-history" C-m
...然后切换到窗格0.1
并进入复制模式并向上滚动,滚动缓冲区不会被清除。
但是,如果我clear; tmux clear-history
直接从运行0.1
,则滚动缓冲区将被正确清除。
我正在运行 tmux 1.6。对这种行为有什么想法吗?
我正在使用vimux将测试发送到 tmux 窗格,在我的测试命令前面加上
call RunVimTmuxCommand("clear; ruby -Itest /spec/some_spec.rb")
...但是由于 MiniTest 在某些故障上给了我一些相当长的堆栈跟踪,我已经开始在 vimux 窗格上进入复制模式并搜索ERROR
with /
,这很好用。
唯一的问题是窗格保留了回滚历史记录,因此我会发现我知道我已经修复的测试失败(因为我正在搜索历史记录)。
我尝试将以上内容修改为
call RunVimTmuxCommand("clear; tmux clear-history; ruby -Itest /spec/some_spec.rb")
但是从vimux发送时这似乎不起作用。如果我手动运行完全相同的命令(就像我切换到 vimux 窗格并自己运行它一样),它工作正常。
我假设这与 vimux 如何将命令发送到窗格有关,但我不知道如何修复它。有人有什么建议吗?