I came across a sentence in vimdoc:Note: CTRL-S does not work on all terminals and might block                further input, use CTRL-Q to get going again.and this key indeed hangs my vim. I was thinking that it was the fault of vim,since there was no problem when I use C-s/C-x C-s in emacs nox. Howeverjust now when I was reading a manpage and pressed the Ctrl-s, it hangs manas well(I am setting less as the PAGER).So can someone tell me what's happening?The terminal emulators are xterm and lxterminal, and tty alsohas this problem. And a Ctrl+q puts the process right again in all the cases.
Ctrl-s hang terminal emulator?
terminal;vim;emacs;keyboard shortcuts;man
This feature is called Software Flow Control (XON/XOFF flow control)When one end of the data link (in this case the terminal emulator) can't receive any more data (because the buffer is full or nearing full or the user sends C-s) it will send an XOFF to tell the sending end of the data link to pause until the XON signal is received.  What is happening under the hood is the XOFF is telling the TTY driver in the kernel to put the process that is sending data into a sleep state (like pausing a movie) until the TTY driver is sent an XON to tell the kernel to resume the process as if it were never stopped in the first place.C-s enables terminal scroll lock. Which prevents your terminal from scrolling (By sending an XOFF signal to pause the output of the software).C-q disables the scroll lock. Resuming terminal scrolling (By sending an XON signal to resume the output of the software).This feature is legacy (back from the 80's when terminals were very slow and did not allow scrolling) and is enabled by default.To disable this feature you need the following in either ~/.bash_profile or ~/.bashrc:stty -ixon