これは簡単ですよね?
たとえば、次の項目をzsh
次の項目に入れることができます.zshrc
。
reset_widget() tput reset
zle -N reset_widget
bindkey "^L" reset_widget
ただし、これを行うと端末がリセットされますが、プロンプトを再表示するにはEnterキーを押す必要があります。
コマンドを次に変更してもecho -ne '\n' | tput reset
効果はありません。
プロンプトを表示するために後でEnterキーを押さずにキーボードショートカットを使用して端末をリセットする方法はありますか?
ベストアンサー1
xyr端末をリセットすると、WINCH
信号または同様の信号が生成され、ZLEがプロンプトを再表示するため、thrigはそれを見ることができません。
現在入力されている端末でも実行されます。発行された端末リセット文字列にはtput reset
DECCOLM制御シーケンスが含まれています。これにより、端末は100列モードでリセットされ、80列モードにリセットされます。最初はWINCH
端末のサイズが変更されたため、信号が生成されます。これ第二周囲時間が80列から80列に変わるため、問題は発生しませんWINCH
。だから、端末でthrigの動作を一度だけ見ることができます。
ターミナルは、これが発生せず、ウィジェットの一部としてプロンプトを再表示する必要があることをZLEに通知することを無視したため、この内容は表示されません。
Reset_widget() { tput リセット;組み込みzle .redisplay}