キーボードショートカットで端末をリセットする(Enterキーは不要)

キーボードショートカットで端末をリセットする(Enterキーは不要)

これは簡単ですよね?

たとえば、次の項目を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 resetDECCOLM制御シーケンスが含まれています。これにより、端末は100列モードでリセットされ、80列モードにリセットされます。最初はWINCH端末のサイズが変更されたため、信号が生成されます。これ第二周囲時間が80列から80列に変わるため、問題は発生しませんWINCH。だから、端末でthrigの動作を一度だけ見ることができます。

ターミナルは、これが発生せず、ウィジェットの一部としてプロンプトを再表示する必要があることをZLEに通知することを無視したため、この内容は表示されません。

Reset_widget() { tput リセット;組み込みzle .redisplay}

おすすめ記事