首页 > 网管 > 服务器 > 正文

解决Ctrl+S时Putty或Xterm命令行无返回的问题

2020-05-27 13:07:22
字体:
来源:转载
供稿:网友

   经常使用Putty或者Xterm之类命令行控制Linux系统的朋友,或许遇到像我这样子的问题:在按下CTRL+S后,命令行完全没有响应。然后关闭窗口重新打开,这样非常不爽,现在我们就来解决这个破问题。

  只要使用的第一个编辑器不是VIM,或者Emacs的朋友,几乎在编辑过程中最常用的快捷键恐怕就是CTRL+S 了。而对于经常使用Putty或者Xterm之类命令行控制Linux、Unix系统的朋友,恐怕也经常遇到和我一样的问题,本能的按下CTRL+S之后,发现命令行完全没有响应了。无奈之下,只能重开窗口,重新打开新的命令行界面。

  每次重开命令行,都需要先连接服务器,kill掉曾经启动的程序,然后再重新执行他们。

  其实,这是因为CTRL+S启动了XOFF(关闭流控制)。这会让终端正常接受按键操作,但是并不会做任何输出,感觉就像命令行没有响应了一样。

  这篇文章将为您提供三大解决方案:

  立竿见影的解决方案

  一劳永逸的解决方案

  一箭双雕的解决方案

  立竿见影的解决方案

  直接CTRL+Q,打开流控制(XON). 如果在CTRL+Q操作之前,你做了其他一些按键操作,此时,您应该能在终端重新看到这些输出了。

  一劳永逸的解决方案

  可以直接在.bashrc中禁止CTRL+S命令发送XOFF。

  在您的.bashrc中添加如下两行( 可以man stty查看更多选项):

  stty ixany

  stty ixoff -ixon

  一箭双雕的解决方案

  其实,我们真的可以让CTRL+S在VIM中用于保存文件:

  .bashrc中的修改

  stty ixany

  stty ixoff -ixon

  stty stop undef

  stty start undef

  .vimrc中的修改, CTRL+S保存当前文件

  map :w

  imap :wa

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表