Zsh 清除Hyper(MacOS)中的缓冲区

Zsh 清除Hyper(MacOS)中的缓冲区,zsh,hyperterminal,Zsh,Hyperterminal,当我使用Hyper(带ZSH)时,有两种方法可以清除终端:键入clear(向下滚动到最后一行,但不清除其余部分)和执行Cmd+K(链接到“clear Buffer”并清除其余部分)。 因此,据我所知,我应该能够编写类似于alias cls=“command to execute Cmd+K”的代码,并以我想要的方式清除控制台 那是哪个命令?或者是否有类似于clear的东西我不知道?Cmd+K不是shell的输入;这是对终端仿真器的命令。您不能给它加别名。clear所做的唯一一件事就是将依赖于终端

当我使用Hyper(带ZSH)时,有两种方法可以清除终端:键入
clear
(向下滚动到最后一行,但不清除其余部分)和执行
Cmd+K
(链接到“clear Buffer”并清除其余部分)。
因此,据我所知,我应该能够编写类似于
alias cls=“command to execute Cmd+K”
的代码,并以我想要的方式清除控制台


那是哪个命令?或者是否有类似于
clear
的东西我不知道?

Cmd+K不是shell的输入;这是对终端仿真器的命令。您不能给它加别名。
clear
所做的唯一一件事就是将依赖于终端的字节序列写入标准输出(尝试
clear | hextump-C
)。终端仿真器被编程为适当地响应这样的字节序列,而不是简单地在终端窗口中打印它们。您的终端类型(
$TERM
)可能不正确,或者可能触发了Hyper中的错误。如果需要清除滚动缓冲区,您需要的是AppleScript。shell对终端仿真器是否要保留其缓冲区没有发言权,我也不知道有任何标准的转义序列要求终端仿真器放弃其滚动缓冲区(尽管各个终端仿真器可以实现自己的自定义转义序列;我也不知道terminal.app或iTerm 2有这样的序列).@chepner我应该用哪个词?(顺便说一句,我正在使用MacOS Catalina)