LoginSignup
2

More than 5 years have passed since last update.

posted at

updated at

Raspberry Piにシリアル接続してEmacsを使うときC-x C-sでファイル保存ができない場合

 Rasbianを再インストールしたので以前書いたRaspberry PiでEmacs 24.5とCaskを使うを読みながらEmacsのインストールをしました。Emacsでプログラムを書いてファイルを保存しようとC-x C-s (コントロールを押しながらx,sの順にキーを押す)をしたところEmacsが反応せずファイルの保存ができません。

X-ON/X-OFFフロー制御

 調べているとProblem with GNU Screen when using Emacs C-x C-s (save-buffer)に原因が書いてありました。C-sは送信を中断 (XOFF)するフロー制御文字のため、EmacsでC-x C-sを押してファイルを保存しようとするとScreenがフロー制御してしまうようです。

 今回の環境はOSXからUSBシリアル変換アダプターとScreenからRaspberry Piにシリアル接続しています。Screenデフォルトのエスケープ文字はC-aです。このままEmacsを使うと行頭に移動できなくなるので.screenrcを書いてエスケープ文字をC-tに変更しています。

~/.screenrc
escape ^Tt

:flow off

 ScreenからRaspberry Piに接続した後にC-tを押してエスケープシーケンスから:flow offを入力します。

:flow off

flow-off.png

 -flowと表示されフロー制御がオフになります。

-flow

-flow.png

defflow off

 Raspberry Piに接続する度にエスケープシーケンスを入力するのも面倒です。OSXの.screendefflow offを書いておくと設定が保存されます。

~/.screenrc
escape ^Tt
defflow off

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2