終端下vim給鎖住了

場景, 同事的mac正在操作一個shell, 裏面會去執行某些遠程操作的命令. 然後彈出了git的commit comment 界面, 要求輸入comments

然後突然這個界面就卡死了, 但是其它分屏, 系統都是正常的.


這個是一個終端的很老的功能, 叫軟件流控制(XON/XOFF flow control)

就是當client(terminal emulator), 我們用的終端模擬器 不能接受更多的數據的時, 終端會發送一個 "XOFF" 信號 告訴發送數據端暫停發送, 直到收到"XON"信號


這裏發送的 "XOFF" 是告訴內核的 tty 驅動將正在發送數據的進程設置爲休眠狀態, 直到 tty 驅動發送 "XON" 告訴內核恢復進程, 就好像它從來沒有停過一樣. 


Ctrl-s(如果你沒有修改默認鍵盤的綁定) 會啓用終端的滾動鎖定, 這會禁用你的終端模擬器的滾動功能 (通過發送 "XOFF" 信號暫停軟件的輸出 ).

Ctrl-q 會禁用滾動鎖定, 恢復終端滾動 (通過發送 "XON" 信號來恢復軟件的輸出).


如果要禁用這個功能, 需要在~/.bash_profile 或者~/.bashrc的配置文件裏面加上下面的參數並且重啓加載bash配置即可

stty -ixon

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章