微软在 PowerShell 7.3.0 版本中增加了一项新功能,名为预测智能感知它根据历史记录自动建议在您输入时输入的命令。只需按→(右箭头)键即可接受此类建议。
在 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 行编辑器―它可以做你想做的事。在安装它之前,你必须安装它的依赖项(如果尚未安装):git
、make
(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
输入以下内容。重启终端,一切就绪了 :)