我知道这个问题PSReadLine 对于 bash 的等效性
但遗憾的是,这对我来说还不够接近,所有的建议都需要按 tab 或 ctrl + r 或其他什么键,而 Powershell 使它变得非常简单,只需输入,你就会看到一个列表,继续输入以过滤更多,如果你找到了匹配的历史命令,只需按下!
就是这样。
这是一个视频
编辑: 我已经尝试了问题中提到的所有建议。
我也再次尝试了@Marcus Müller 的解决方案,结果仍然相同,没有历史记录建议,只是自动完成。
编辑2:
我知道这个问题PSReadLine 对于 bash 的等效性
但遗憾的是,这对我来说还不够接近,所有的建议都需要按 tab 或 ctrl + r 或其他什么键,而 Powershell 使它变得非常简单,只需输入,你就会看到一个列表,继续输入以过滤更多,如果你找到了匹配的历史命令,只需按下!
就是这样。
这是一个视频
编辑: 我已经尝试了问题中提到的所有建议。
我也再次尝试了@Marcus Müller 的解决方案,结果仍然相同,没有历史记录建议,只是自动完成。
编辑2:
不知道有任何 bash 脚本可以做到这一点;我认为 bash 自定义显示内容的能力受到限制。
但老实说,您是来自 Windows 的用户,没有什么强迫您使用
bash
;您可以使用功能更齐全的版本zsh
(通过安装apt install zsh
,因为您似乎在 Ubuntu 上);脚本仍然可以用 bash 运行,但您可以创建默认的交互式 shellzsh
。对于zsh
,有相当流行的插件可以做你描述的事情!我会一次性完成所有设置,包括整个 oh-my-zsh 插件包,因为我敢打赌你接下来会问如何让 git 自动完成,或者获取更丰富的信息提示。所以我开始吧:
然后,当您启动时
zsh
,它会在命令行下方显示一个漂亮的对话框,当您看到喜欢的内容时,可以使用向下箭头选择它。如果您想稍微自定义该对话框(例如限制为历史记录等),这也很容易,但我将参考zsh-autocomplete 的README :)如果这与您每天想要使用的内容足够接近,则可以
zsh
通过运行来创建默认 shellchsh -s $(which zsh)
。此外,我鼓励您尝试默认主题以外的其他主题(“robbyrussel”,您会在 中找到相应的行
.zshrc
),并查看其他 zsh 插件是否提供您想要的功能。我实际上没有使用很多((git tmux)
),因为我发现我获得的自动完成功能已经足够好了,并且我不认为让我在需要时输入更少的字符pip install
值得记住更短的命令。Nour 的更新:
我弄清楚了如何根据这个答案的建议获得所需的行为,并且我想选择它作为正确答案,因此我添加了额外的步骤:
除了上面提到的所有内容之外,您还需要将这些命令添加到 ~/.zshrc 的行前
source $ZSH/oh-my-zsh.sh
。以下是结果的演示: