终端下vim给锁住了

来源:互联网 发布:外国人用支付宝淘宝 编辑:程序博客网 时间:2024/04/30 12:28

场景, 同事的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

0 0
原创粉丝点击