選択すると、一部の空の領域が黄色に変わるのはなぜですか?

選択すると、一部の空の領域が黄色に変わるのはなぜですか?

次のターミナルスクリーンショットを比較してみてください。

スクリーンショット スクリーンショット

答え1

これは通常、出力に実際の末尾の空白があるときに行が終わるように見えた後に発生します(たとえば、プログラムは長さ%s修飾子で使用されるため)。printf

他の行は終わるように見えるところで終わります(つまり、後ろにスペースはありません)。

答え2

デフォルトでは、選択項目は影響を受けるセルの前景色と背景色を変更します。 (明示的な強調色は、GNOME端末の環境設定で設定するか、OSC 17/19エスケープシーケンスを使用するように切り替えることができますが、今はデフォルトの動作に固執します。)

強調表示したときに空白が黄色(オレンジ、茶色など何でも:))に変わると、文字が空白で文字ではないため、前景色がこの色であることを意味します。

apt出力の下部に一時的なステータスバー(進行中のメッセージ)を残し、それを消去して画面に残るメッセージで上書きします。ステータスバーのテキストが強調表示されたテキストと同じ色であることがわかります。これは2つのことを意味します。aptステータスバーの文字を空白で上書きして(行末までの順序をクリアするのではなく)、黄色からデフォルトの色に戻す前にこれを行います。

apt非常に低い優先順位で処理されると仮定しても、「強調表示に優しい」アプローチへの変更に反対するバグリクエストを送信できます。言うまでもなく、他の端末エミュレータは異なる強調表示環境を実装できます。

関連情報