我最近在我的服务器上尝试使用tmux作为byobu(屏幕)的替代品。当我开始在vim上编辑一些代码时,当我继续j
和k
向上和向下滚动时,我发现它非常滞后。
我认为这可能是因为我的连接出现了问题,但我尝试在没有tmux的情况下在vim上编辑同一个文件,我发现它几乎没有延迟就更具响应性。
那么,有什么办法可以让tmux上的vim不滞后吗?
答案 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
以使其永久化。