Shell
通過鍵盤快捷鍵重置終端(沒有輸入鍵)
這應該很容易吧?
例如
zsh
,你可以把它放在你的.zshrc
:reset_widget() tput reset zle -N reset_widget bindkey "^L" reset_widget
但是,這會重置終端,但需要您按 Enter 鍵才能重新顯示提示。
將命令更改為
echo -ne '\n' | tput reset
也無效。有沒有辦法使用鍵盤快捷鍵重置終端,而無需在之後按輸入鍵來顯示提示?
thrig 沒有看到這一點,因為重置 xyr 終端的行為會導致
WINCH
信號或類似信號,這會導致 ZLE 重新顯示提示。它也在我目前正在輸入的終端上。發出的終端復位字元串
tput reset
包括 DECCOLM 控制序列。這會將終端從我放入的 100 列模式重置回 80 列模式。第一次,這確實會產生WINCH
信號,因為終端會調整大小。第二次從 80 列變為 80 列,這不會導致WINCH
. 所以我只能在終端上看到一次 thrig 的行為。您沒有看到這一點,因為您的終端不會發生這種情況,並且您沒有告訴 ZLE 它需要將提示重新顯示為小元件的一部分:
reset_widget() { tput 重置;內置 zle .redisplay; }