web-dev-qa-db-ja.com

Cygwinはスクロールバックバッファのクリアを防ぎます

デフォルトのcmd.exeウィンドウまたは Console などの同様のターミナルエミュレーターでCygwinを実行すると、画面全体を置き換えるプログラム(Vimやmanなど)を終了した後、bash履歴のみがオンになっていることに気付きました。現在のウィンドウの高さが表示されます。つまり、現在の画面を超えて上にスクロールすると、何も表示されません。これは、画面バッファサイズがどのように設定されているかに関係なく発生します。

より多くの履歴を保存することは可能ですか、withoutコンソール以外のエミュレーターに切り替えますか?

4
Suan

ここでの応答と Cygwinメーリングリスト での応答の欠如から判断すると、少なくとも「他の場合と同じように機能するはずです」では、これを行う方法はないと思います。ターミナル」の方法(誰かが私を間違っていると証明しない限り)。私はak2の提案を取り上げ、minttyの使用に移りました。それは素晴らしいことで、とにかく一度に多くのCygwinタブは必要ないことに気づきました。したがって、コンソールのタブ機能は必要ありません。

1
Suan

screen セッション内で作業を試みることができます。 1つのコンソールでスクロールバックして複数の端末を生成する可能性があります。 Cygwinでは 動作するはずです のように見えます。

3
Rajish

私にとって、そして私がシェルに住んでいるのは、次のとおりです。

CygwinのXmingサーバーでmrxvtを使用しているのは、(多くの優れた機能の中で)特定の行数に設定できるマウスのスクロール可能なバッファーがあるためです。タブ付きのフルサイズのウィンドウ画面が表示され、起動時のタブの数、フォントサイズ/タイプ、fg/bgの色などを〜/ .mrxvtrc構成ファイルで構成できます。 Xサーバー(Xming)を必要としないため、代替のrxvtがあります。

Sourceforgeからmrxvtを取得し、コマンド{configure、make、makeinstall}を使用してコンパイルしました。 rxvtはCygwinインストーラー/ソフトウェアアップデーターを使用して利用できると思います。

Configureと入力し(常にconfigureの結果をチェックして、すべてが正常であることを確認します)、makeと入力し、コンパイラエラーがあるかどうかを確認します(警告は問題ない場合があります)。正常であれば、makeinstallと入力してmrxvtを/ usr /にインストールします。ローカル/ビン。

コンパイルには少し時間がかかりますが、それだけの価値はあります。

例として、このmrxvt構成ファイルを見てください。 http://dotfiles.org/~sleepyEDB/.mrxvtrc

ここからXming(コンパイル済み)を入手してください: http://www.straightrunning.com/XmingNotes/

マウスをクリックするだけでXmingとrxvtを起動するDOSバッチファイルを作成し、rxvtからmrxvtを起動します。おそらく別の起動方法がありますが、mrxvtとrxvtはWindowsコマンドシェルの子プロセスではないため、これは私にとってはうまくいきます。

DOSバッチファイルの内容:start C:\ cygwin\bin\rxvt.exe -sb -sl 3000 -fg grey -bg black -fn "Courier New-14" -km noenc -e/bin/bash --login -i

画面を使用できますが、スクロールはキーの組み合わせによってのみ行われ、mrxvtのようなマウスではありません。画面スクロールモード:C-a [ページアップ/ダウン:C-f C-bハーフページアップ/ダウン:C-u C-dスクロールモード以外でC-a dを実行する場合は、(画面を再接続するには)次のように入力します。screen-R

/ etc/screenrcにエントリを作成して、スクロールバック行を設定することをお勧めします。そして、bashエイリアスscreen = 'screen -c/etc/screenrc'を設定します

1
Matt Thomas