回答:
CtrlS「送信の一時停止」(XOFF)フロー制御文字です。通常、ttyドライバー、この場合はScreenによって処理されます。その反対はXONまたはCtrlQです。
Emacsを起動すると、通常、ほとんどの特殊文字(フロー制御だけでなく、通常のCtrlC「割り込み」など)も引き継ぎます。
C-a :flow off
この画面ウィンドウのフロー制御を無効にするために使用します。
で確認しますC-a :info
(-flow
ポップアップで探します)。
解決しない場合は、stty -ixon
またはを試してくださいstty stop undef
。
(stty -f /dev/tty1
またはを使用して、別のウィンドウから実行できますstty </dev/tty1
。)
私のシステム(Linux)では、ttyのフロー制御が無効になっているときにScreen が通知します。ただし、OSにはいくつかの制限があります。
:flow off
働いた。ありがとう!永続的にする方法はありますか?
defflow
のマニュアルページを参照してくださいscreen
。
defflow off
と思い~/.screenrc
ます)、ファイルに行を追加するか、ホームディレクトリに存在しない場合は作成します。これは、emacsをscreen
ウィンドウ内で適切に機能させるのに十分でした。キーを再バインドする前に、このアプローチを検討する必要があります。
ロックされた画面や、画面下でemacsを使用する際に多くの問題が発生しました。たとえば、行の先頭に移動するemacsのCaは、画面によってインターセプトされ、機能しません。
溶液:
以下を使用して、ホームディレクトリに.screenrcファイルを作成します。
#Change escape character to C-u
escape "^uu"
#unbind ctrl+s from xoff in order to be able to search in emacs
bind s
bind ^S
#unbind ctrl+x from lockscreen in order to be able to save in emacs
bind x
bind ^X
次に、Caを使用する代わりに新しい画面を開くたびに、Cuを使用して新しい画面コマンドを入力する必要があります。他の2つの変更は、スクリーンの下で問題なくemacsを使用できるようにするために変更する必要のあったものをさらにいくつか処理します。
C-u
emacsの重要な鍵です。私はそれが良い考えだとは思いませんが、.screenrcを変更するという考えはより良い代替案です。