clear
bashとはかなり違うようですCtrl。以前の端末情報はすべて完全に削除されるため、上にスクロールできません。画面をスクロールすると、カーソルがページ上部にあるため、上にスクロールして前の情報を表示できます。私は-systemを好みます。以前の端末情報をすべて消去するのではなく、実行されるように上書きする方法はありますか?これは大きな問題ではありませんが、エイリアスを使用して私が好む機能を指す方法があるかどうかを好奇心から知りたかったです。Lclear
CtrlLCtrlLclear
CtrlLclear
CtrlL
ちなみに、ちょうどPowerShellにもバインディングがあり、同じ方法で実行されることがわかりました。これはCtrlPowerShellLデザイナーCtrlがLbashから多くを借りたように見えますが、cmd.exe
コンソールにはこの機能はありません。
答え1
以前の端末情報をすべて消去するのではなく、Ctrl-Lを実行するようにClearをオーバーライドする方法はありますか?
alias clear='tput -x clear'
はい、Ctrl-L
bash(mode)でもset -o emacs
同じことをします。
または、エスケープを直接接続すると、ほとんどalias clear='printf "\033[H\033[2J"'
のターミナルエミュレータで動作し、それを持っているかインストールしたとは想定しませncurses
んbash
。
気づく:clear
ビジーボックスのアプレットはスクロールバックバッファを消去しないため、一部のビジボックスベースのシステム(ほとんどの組み込みLinuxシステムなど)を使用している場合は、特別な作業を行う必要はありません。
答え2
clear
ターミナルコマンドで、抜粋は次のとおりですman clear
。
clear
説明は、可能であればスクロールバックバッファを含む画面を消去します(拡張「E3」機能が定義されている場合)。clear
環境変数 TERM で指定された端末タイプの環境を見つけて、terminfo データベースから画面を消去する方法を決定します。clear
標準出力に書き込みます。標準出力をファイルにリダイレクトし(クリアが実際に画面を消去するのを防ぎます)、ファイルを画面cat
にリダイレクトしてその時点で消去できます。
Ctrl+lはキーバインディングですreadline
コマンドclear-screen
(man 3 readline
)です。
画面を消去し、現在の行を再描画して画面の上部に残します。引数として使用する場合は、画面を消去せずに現在の行を更新します。
clear
readlineコマンドclear-screen
のエイリアスを指定する方法が見つからず、おそらくまったく不可能です。