清除终端而不清除多行提示的第一行

问题描述 投票:0回答:2

我正在尝试在我的新 Mac 上设置终端以匹配我的旧 Mac 的行为,但是我遇到了一个问题,我的多行提示让我很困惑。我记得几年前我设置我的旧 Mac 时遇到过这个问题,但我不记得我是如何解决它的。

我的提示(没有颜色)是这样的:

╭─username ~                                   130 ↵
╰─ 

当我在旧 Mac 上的 iTerm2 中按⌘命令K时,它会清除终端窗口,以便提示的两行都显示在顶部。

当我在我的新 Mac 上的 iTerm2 中按⌘命令K时,它会清除终端窗口,因此只有提示的第二行显示在顶部。

我已经尝试检查我能想到的一切,我已经检查过:

  • 我的主目录中的每个点文件/目录(将它们复制到新 Mac)。
  • iTerm2 设置。
  • 系统设置(主要是键盘快捷键)。
  • 各种网站,其中包含有关设置多行提示的说明。

有趣的是,我发现如果我输入

clear
iTerm2 将清除屏幕并在两台 Mac 上都显示第一行。但是,它首先清除整个屏幕,包括提示,然后再返回提示(imo 看起来很糟糕)。但是,由于它的工作方式不同 ⌘commandK 我不认为那是我的旧 Mac 正在做的事情。

我可能安装了一些程序/脚本以某种方式执行此操作,但如果是这样,我在本地找不到它或在线引用它。

有谁知道我怎样才能让 ⌘commandK 在保持提示的第一行的同时清除屏幕?我还有旧 Mac,所以如果对我更改的设置有任何猜测,我可以检查/比较新 Mac 上的任何内容。

编辑: 我能够找到一些有用的东西,但是如果有人有任何其他建议,我会很乐意尝试并接受任何我可以做的比这更简单的工作(例如不需要另一个第 3 方应用程序)。

terminal zsh oh-my-zsh iterm2
2个回答
0
投票

编辑: 命令运行时这不起作用,也不会清除可滚动的历史记录。所以总比没有好,但仍然不像我想要的那样表现。

在回到我的问题之后,SO 将一个新问题与一个答案相关联,我能够完成工作,尽管它感觉特别 hacky 并且不是我以前的工作。

我发现这个答案建议使用⌃controlL清除屏幕。这正是我想要它做的(使顶部提示可见并且不闪烁)但是键绑定错误。幸运的是,我能够使用我已经安装的应用程序(BTT)使⌘commandK仅在iTerm2中映射到⌃controlL


0
投票

你安装了iTerm2的shell集成吗?它提供了这个功能:

Shell Integration 的工作原理是在您登录的每台主机上配置您的 shell,以发送传达以下信息的特殊转义码:

  • 命令提示符开始和结束的地方。
  • 在命令提示符下输入的命令结束并开始输出。 [...]
© www.soinside.com 2019 - 2024. All rights reserved.