Vim,vimux,tmux和清除回滚缓冲区的窗格

更新:我一直在玩这个,似乎tmux的clear-history命令可能会破坏.

如果我有两个窗格以0.0和0.1打开,我输入18个命令,然后在0.1(0.0)运行

tmux send-keys -t 0.1 q C-u "clear; tmux clear-history" C-m

…然后切换到窗格0.1并进入复制模式并向上滚动,不清除滚动缓冲区.

但是,如果我说清楚; tmux clear-history直接从0.1开始,然后滚动缓冲区被正确清除.

我正在运行tmux 1.6.对这种行为的任何想法?

我正在使用vimux将测试发送到tmux窗格,为我的测试命令添加前缀

call RunVimTmuxCommand("clear; ruby -Itest /spec/some_spec.rb")

…但是由于MiniTest在某些故障时给我一些相当长的堆栈跟踪,我已经在vimux窗格中进入复制模式并使用/搜索ERROR,这非常有效.

唯一的问题是窗格保留了回滚历史记录,因此我会发现我知道我已修复的测试失败(因为我正在搜索历史记录).

我试过修改以上内容

call RunVimTmuxCommand("clear; tmux clear-history; ruby -Itest /spec/some_spec.rb")

但是当从vimux发送时,这似乎不起作用.如果我手动运行完全相同的命令(如我切换到vimux窗格并自己运行),它工作正常.

我假设这与vimux如何向窗格发送命令有关,但我不知道如何修复它.有人有什么建议吗?

最佳答案 我写信给vimux的作者,他已经修好了;真棒!

https://github.com/benmills/vimux/issues/26

点赞