Disable terminal default ctrl-s behavior so it can be used for save. by thomasballinger · Pull Request #933 · bpython/bpython
Solution for #638
Terminal emulators typically "freeze" the terminal on ctrl-s and continue on ctrl-q. You can run stty -ixon in your terminal or add it to your .bashrc or similar to disable this behavior on ctrl-s. If not disabled, users of bpython can't use ctrl-s to save their session.
I think we should do the equivalent of this for users automatically. I would guess that more users are annoyed by it but never report than users that want to use scroll control in bpython. I don't think this default behavior of ctrl-s/ctrl-q is very useful in bpython, especially since our output is much slower than python. However ptpython has a similar issue that it also chooses not to automatically fix.
Hitting F7 is a workaround that opens the current session in a text editor, from which you can save it with a new name. Saving without changing the name saves to a temporary file and re-executes the modified session.
Note that the say that the way Curtsies implements this behavior is not by turning off this terminal feature (-ixon and -ixoff) but rather by making ctrl-s and ctrl-q no longer do these things.