誤って入力した ctrl + L ターミナルとターミナルウィンドウで、「スクリーンフル」サイズが1つ飛びました。 「編集」->「キーボードショートカット」でキーボードショートカットを調べましたが、そのショートカットが見つかりませんでした。
何をする ctrl + L どこで定義されていますか?
ctrl + L 端末画面をクリアするだけです。
コマンドclear -x
と同等のキーボードショートカットです。 参照
これはbash
のプロパティであるため、gnome-terminalのkeyboard shortcutsで見つかりませんでした。 man bash
から:
clear-screen (C-l)
Clear the screen leaving the current line at the top of the
screen. With an argument, refresh the current line without
clearing the screen.
Bash Keyboard Shortcuts の詳細リストを参照してください。
使用しているシェルがインターセプトしていない場合、ターミナルで「フォームフィード」文字を入力しています。端末アプリケーションが何らかの方法でキーストロークをインターセプトまたは使用しない場合、 Ctrl+文字は、文字から64(1)を引いたASCIIコードに変換されます。 65は 'A'のASCIIコード、 'L'は12文字目->コード76です。シェルがコードの処理方法を知らない場合、それを出力します。
FF文字を印刷すると、ラインプリンターで新しいページが表示され、端末で画面がクリアされます(はい、当時300ボーで VT-52 を使用しました)。
そう Ctrl+L 12はFFです。同じやり方で、 Ctrl+I TABであり、 Ctrl+G ベルを鳴らします---端末またはシェルがそれを傍受しない場合、 Ctrl+C 例えば。
他の回答からの注意:bashdoインターセプト CTRL-L clear
を実行します。 bash
の作者がキーをコマンドに関連付け、それは古い端末でASCIIコードが行ったのとほぼ同じことを行うという素晴らしい感触です!
一方、zsh
の組み合わせ CTRL-I として働く TAB そして CTRL-H として Backspace(2)。
Old Nice ASCII ...(文字Lは列4、行12にあり、ASCIIコード4 * 16 + 12 = 76を持っていることに注意してください)。
元の画像 ここ 、from ASCIIに関するウィキペディアの記事 。
(1) Ctrl ビット7をクリアするために使用されます。
(2)これは、「Wordを削除できません」というジョークのソースです。たとえば、「これは悪い^ H ^ H ^ Hnot so Nice idea」でした...(通常、Wordは悪いより強い!)
Control-L
は、bashによってインターセプトされ、解釈されます(実際には readline
ライブラリー 。コマンドラインでのインタラクティブな編集を処理します)。 @souravcが書いたように、それはclear-screen
関数にバインドされています。
Control-L
の意味に関する注意:ASCII文字テーブルでフォームフィードとして定義されていますが、これは何らかのプログラムがそれに応じて解釈しない限り、何もありません。ファイルに^ Lを保存し、cat
を使用してファイルを印刷することで確認できるように、端末はフォームフィードを表示しても画面をクリアしません。 bash/readline
が^L
を検出すると、clear-screen
関数を実行します。これにより、端末エミュレーターが理解する一連の文字(termcapまたはterminfoで説明)が送信され、画面がクリアされます。
非常に古いプリンターでは、^L
は次のシートで印刷を開始する用紙を進めるため、「フォームフィード」という名前になります。しかし、最新の端末と端末エミュレータは、制御コマンドが複数文字 "エスケープコード" で始まり、^[
(エスケープ)で始まる新しいANSI標準に従います。 bashが^L
を見ると、おそらく2つのコマンドシーケンスESC [ H ESC [ J
を送信しています。これは、画面の左上に移動し、その下のすべてをクリアします(したがって、画面全体)。
誰もがすでに十分に説明したように Ctrl+L ありますが、コマンドを「逆にする」方法を説明した人はいません。ここでは、実行中の操作に戻るために入力できるコマンドがいくつかあります。
history
最後に入力した20個のコマンドが表示されます。
tail --lines=20 /var/log/dpkg.log
実行したパッケージインストールの出力の最後の20行が表示されます。