在vi中编辑某些内容时终端挂起


13

当我不小心按Ctrl+ S而不是时,正在使用终端在vi中对远程文件进行一些更改:wq

现在一切都被绞死了。我尝试Escape,:q!了各种vi命令,但没有任何反应。终端屏幕被卡住。到目前为止,我无法关闭终端会话,因为它将导致所有更改丢失。请提出应该做什么

Answers:


24

Ctrl+ Q将撤消Ctrl+ S。这些是古老的控制代码,可停止并恢复输出到终端。它们仍然很有用,例如,当您在- tailf创建日志文件并滚动一些有趣的内容时,但是这个无限回滚缓冲区的时代确实使它们过时了。


7

我想补充zwets接受的答案

您可以通过发出命令stty -a和来查看特殊按键的含义man stty

stty -a打印终端的所有当前设置。结果在我的终端:

speed 38400 baud; rows 33; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk > -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

man stty打印样式手册。这里相关的部分:

特殊的角色:

   start CHAR
          CHAR will restart the output after stopping it

   stop CHAR
          CHAR will stop the output
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.