【问题标题】:How to bind the up-arrow key to go to the next unique command (macOS terminal)?如何绑定向上箭头键以转到下一个唯一命令(macOS 终端)?
【发布时间】:2019-08-29 02:41:29
【问题描述】:

所以我有兴趣将向上箭头键绑定到历史记录中的下一个 唯一 命令,而不是前一个命令?

例如: 我在上大学,用 java 编码,调试时我需要在终端中编译和重新编译 java 文件几次,然后才能最终运行文件,所以我的命令行历史可能看起来像这样。

1: javac Hello_World.java
2: java Hello_World
3: javac Hello_World.java
4: javac Hello_World.java
5: javac Hello_World.java
6: javac Hello_World.java

我目前需要按几次向上箭头键(在本例中为 4 次)才能返回我刚刚运行它的命令。

那么有什么方法可以返回到下一个 unique 命令,这样我只需按一次向上箭头即可跳过重复的命令?

【问题讨论】:

    标签: bash macos command-line terminal


    【解决方案1】:

    确实没有一种有效的方法可以满足您的要求。您需要在后台运行某种类型的服务,不断扫描历史记录以了解要跳过多少先前的命令,这可能会非常缓慢。我想最有效的解决方案是去掉~/.bash_history 中的重复命令。

    您可以将其添加到您的~/.bash_profile 以自动删除重复命令:

    # clean up history:
    export HISTCONTROL=erasedups:ignoreboth
    

    现在您应该只需要点按两次 即可获得上一个独特的命令。

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-27
      • 2012-06-07
      • 2020-06-20
      相关资源
      最近更新 更多