2012-04-14 15 views
4

我最近一直在我的服務器上嘗試使用tmux作爲byobu(屏幕)的替代品。當我開始在vim上編輯一些代碼時,我發現它非常滯後,當我繼續向上和向下滾動jk時。vim通過ssh在tmux上滾動緩慢

我認爲這可能是因爲我的連接有問題,但我嘗試在vim上編輯同一個文件,沒有tmux,我發現它幾乎沒有滯後時的響應。

那麼,有沒有什麼我可以做,使tim的vim不滯後?

回答

7

這聽起來像你在ssh上使用tmux。如果是這樣,你可以試試mosh。它建立在ssh之上,但與ssh相比具有許多優點。其中之一是:

擺脫網絡滯後。

SSH在顯示您自己的輸入之前等待服務器的回覆。這可能會導致糟糕的用戶界面。 Mosh是不同的:它可以立即響應打字,刪除和行編輯。它可以自適應地運行,甚至可以在emacs和vim等全屏程序中運行。如果聯繫不好,突出的預測會被強調,這樣你就不會被誤導。

在我的經驗中,它比ssh好得多。

+0

Mosh看起來很有趣,唯一的問題是我在Windows上使用PuTTY – nafis 2012-04-14 10:30:01

+0

@nafis如果你喜歡冒險,可以試試Cygwin中的mosh:https://github.com/keithw/mosh/issues/ 164 :) – 2012-04-28 00:38:07

3

我經常在遠程機器上工作,而且我有相同的vim滾動問題。當您在tmux中使用vim並且同時打開多個窗格時,tmux不能只重繪vim正在運行的那部分屏幕,但它必須重新繪製更大的部分(可能是整個屏幕)。這增加了tmux通過連接發送的轉義字符的數量。

在我的情況下,啓用ssh壓縮減少了這種緩慢。你可以給它一個嘗試:

ssh -C [email protected] 

或將Compression yes到您的~/.ssh/config,使其永久化。

+0

這個技巧可以創造奇蹟!對於那些不能使用mosh的大型解決方案。 – John 2016-02-13 03:10:30