Xshell、遠程終端莫名卡死的解決方法

來源:本站原創 腳本技巧 超過1,747 views圍觀 0條評論

前言

最近通過Xshell連接遠程服務器,然后使用Vim修改文件時會莫名其妙的卡死,一開始我還沒注意,因為近期的網絡一直不太好,經常出現按下一個字母半天才反應過來的情況,所以我沒有太在意,直接關閉終端重新打開就好。直到有一天我開著兩個終端的時候,Vim又卡著不動了,而另一個終端還以流暢的處理我敲擊的命令,我就斷定這肯定不是網絡原因了。

原因

既然是Vim卡住了那就查查Vim本身有什么BUG吧,結果上網搜了一圈發現原來是遠程終端的問題,根本就不關Vim的事,它只是躺著中槍了而已(*^▽^*),實際上就是不小心按下了快捷鍵 Ctrl+S 導致的,為什么常常是Vim卡住呢?那是因為很多人習慣了在 Windows上 的保存快捷鍵,寫寫文檔總是習慣性按下快捷鍵 Ctrl+S 保存一下,來避免程序突然崩潰導致文檔丟失,這就解釋了為什么出問題的總是Vim,因為使用Vim編輯文本有時會習慣性的按下 Ctrl+S 保存,而在執行Shell命令是很小的概率會按 Ctrl+S,所以大多數人卡住往往是在使用Vim的時候。

可是快捷鍵

原因是按了 Ctrl+S 為什么會導致終端卡死呢?實際上這個快捷鍵的含義是“阻斷向終端輸出內容”,很多人說這個快捷鍵的作用是暫停終端,我個人感覺這種說法并不準確,實際是上終端并沒有暫停,按下 Ctrl+S快捷鍵后,你依然可以像終端發送命令,終端也會正常執行,只是不會將反饋內容和結果顯示在終端上而已,這個特性可以用來暫停顯示快速滾動輸出的內容,比如在編譯大型項目的時候。

解決辦法

解除這種狀態的方法很簡單,按下快捷鍵 使用Ctrl+Q進行解決 就可以“恢復向終端輸出內容”,只是很多時候我們并不知道,以為是終端卡死了然后錯殺了程序!

附注

關于這個問題,Vim文檔中“SECTION 32 – VIM ON UNIX”一節也給出了回答,有興趣的小伙伴可以自己看一下:

32.1. I am running Vim in a xterm. When I press the CTRL-S key, Vim freezes. What should I do now?

vimdoc.sourceforge.net

版權聲明:本文為博主原創文章,轉載請注明出處。更多精彩文章請關注微信公眾號:寫代碼的蘇東坡 https://blog.csdn.net/shihengzhen101/article/details/79245887

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3781轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏