vim在tm上通过ssh滚动缓慢

时间:2012-04-14 09:10:48

标签: vim ssh tmux

我最近在我的服务器上尝试使用tmux作为byobu(屏幕)的替代品。当我开始在vim上编辑一些代码时,当我继续jk向上和向下滚动时,我发现它非常滞后。

我认为这可能是因为我的连接出现了问题,但我尝试在没有tmux的情况下在vim上编辑同一个文件,我发现它几乎没有延迟就更具响应性。

那么,有什么办法可以让tmux上的vim不滞后吗?

2 个答案:

答案 0 :(得分:7)

听起来你在ssh上使用tmux。如果是这样,您可能需要尝试mosh。它建立在ssh之上,但与ssh相比具有许多优势。其中之一是:

  

摆脱网络滞后。

     

SSH在显示您自己的输入之前等待服务器的回复。这可能会造成糟糕的用户界面。 Mosh与众不同:它可以即时响应打字,删除和行编辑。它可以自适应地执行此操作,甚至可以在emacs和vim等全屏程序中使用。在一个糟糕的连接上,突出的预测被加下划线,这样你就不会被误导。

根据我的经验,它比ssh好得多。

答案 1 :(得分:3)

我经常在远程计算机上工作,并且我有相同的vim滚动问题。当您在tmux中使用vim并且同时打开多个窗格时,tmux不能重新绘制vim正在运行的屏幕部分,但它必须重绘更大的部分(可能是整个屏幕) 。这会增加tmux通过您的连接发送的转义字符数。

在我的情况下,启用ssh压缩可以减少这种缓慢的负担。您可以尝试使用:

ssh -C user@host

或将Compression yes放入~/.ssh/config以使其永久化。