类似 PowerShell 的 Bash 历史记录自动建议

类似 PowerShell 的 Bash 历史记录自动建议

微软在 PowerShell 7.3.0 版本中增加了一项新功能,名为预测智能感知它根据历史记录自动建议在您输入时输入的命令。只需按(右箭头)键即可接受此类建议。

预测 IntelliSense 描述

预测 IntelliSense 示例

在 Ubuntu 的 Bash 中可以实现类似的效果吗?我知道我可以使用Ctrl+ R,但它似乎不太方便。

答案1

有一个内置的替代品Ctrl + R叫做赫斯特。它允许您搜索命令历史记录,同时匹配所有搜索标记(以及其他内容),并使用箭头键循环显示结果。这是一个简短的演示屏幕截图,也可以从赫斯特

在此处输入图片描述

关于:

使用 bash 和 zsh 的 shell 历史记录建议框轻松查看、导航和搜索命令历史记录。

HSTR 包含在 Ubuntu 21.10 及更新版本中。要安装,请运行:

sudo apt update
sudo apt install hstr

要在 Ubuntu 21.04 及更早版本上安装 HSTR,请运行:

sudo add-apt-repository ppa:ultradvorka/ppa
sudo apt-get update
sudo apt-get install hstr

然后配置hstr 为bash

hstr --show-bash-configuration >> ~/.bashrc
source ~/.bashrc

然后使用Ctrl + R

答案2

作为@muru 也在评论中建议,有ble.sh ―Bash 行编辑器―它可以做你想做的事。在安装它之前,你必须安装它的依赖项(如果尚未安装):gitmake(GNU make)和gawk(GNU awk)。你可以使用以下命令执行此操作:

sudo apt install git make gawk

然后,ble.sh运行以下命令进行安装:

git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git
make -C ble.sh install PREFIX=~/.local
echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc

上述命令将下载您当前目录中的存储库,将其安装~/.local/share/blesh/ble.sh并在中添加所需的行~/.bashrc

关闭并重新打开终端后,您应该已经启用了自动建议:

终端显示自动建议

如果要卸载ble.sh,请按照以下步骤操作(从项目的1.6 卸载部分):

  • 关闭所有ble.sh会话(使用 的 Bash 交互式会话ble.sh

  • 删除相关用户数据。如果您想保留它们,可以跳过这些步骤。

    • 删除 中添加的行.bashrc
    • 删除blerc文件(~/.blerc~/.config/blesh/init.sh)(如果有)。
    • 删除状态目录~/.local/state/blesh(如果有)。
  • 删除安装目录ble.sh。当您out/ble.sh在 git 存储库的工作树中使用时,安装目录是存储库的目录。当您使用ble.sh由 进行安装时make install,安装目录是<PREFIX>/share/blesh(<PREFIX>默认:~/.local) 是在安装阶段为 make install 指定的前缀。当您使用从 tarball 中提取的版本时,提取 tarball 创建的目录是安装目录。

  • 删除缓存目录~/.cache/blesh(如果有)。

  • 删除临时目录/tmp/blesh(如果有)[仅当您的系统不会自动清除时才需要/tmp]。

答案3

我认为使用fish可能会对你有所帮助。 sudo apt install fish

然后打开终端右键单击它并转到首选项->命令->启用Run a custom command instead of shell

fish输入以下内容。重启终端,一切就绪了 :)

相关内容