読者です 読者をやめる 読者になる 読者になる

Conemu+Gitのbashでgit logをctrl+cで終了すると、それ以降のコマンドが表示されない

現象

ConemuのGit for WindowsBash上で、git logを実行しCtrl+cで終了すると、それ以降の
入力したコマンドが表示されない。
コマンドは実行されて、標準出力、標準エラーは表示される。

Git for WindowsBashとは、gitインストール先\bin\bash.exeのこと

再現手順

  1. ConemuでGit for WindowsBashを開く。
  2. git loggit diffなどを実行する。
  3. 2.の出力表示が2ページ以上で、スクロール待ちの状態にする。
  4. Ctrl + cで2.のコマンドを終了する。
  5. 何らかのコマンドを入力して、Enterで実行する。 f:id:orangeclover:20170222212313g:plain

発生しない条件

  • ConemuとGit for WindowsBashで、Ctrl +Cの代わりにqで終了した場合は、問題は発生しない
  • ConemuとGit for WindowsBashで、lessを使用した場合は、そもそもCtrl+Cでの終了を受け付けない
  • Git for Windowsに付属するGit Bash(mintty)上では、git loggit diffをCtrl+cで
    終了しても問題は発生しない

環境

  • OS
    Windows 10 バージョン1607(ビルド14393.693)
  • Git
    git version 2.11.1.windows.1
  • Conemu
    161206 stable
  • CoemuからGit for WindowsBashを起動する設定。
  -new_console:d:C:\Users\clover -cur_console:C:C:\usr\opt\git\etc\git.ico C:\opt\git\bin\bash.exe --login -i 

原因

分からない。
Git bash(mintty)で発生しないということは、Conemuの問題なのか?

実験

復旧方法の実験

コマンド 結果
clear 戻らない
echo ^[c 戻らない
reset 正常に戻る
stty sane 正常に戻る

復旧方法

Ctrl + cで終了させてしまい、コマンドが表示でされなくなってしまったら、resetstty saneを 実行して 端末制御をきれいにすると、コマンドが表示されるようになる。

抑止方法

qで終了させる。 Ctrl + cの終了で正常に終了させる方法はわからない。

参考