我安装了该command-not-found
包并且正在将其加载到我的程序中,.zshrc
如下所示:
source /etc/zsh_command_not_found
虽然我现在可以获得未找到但可以通过安装其他软件包获得的命令建议(例如asdf
),但我不再获得任何未找到命令时的反馈和没有提供该命令的建议(例如asdfasdfadfasdf
)。在这种情况下,命令行上绝对没有输出,因此我经常不会注意到命令未运行。(例如,我不希望 Conda 默认修改我的 shell 环境,但这意味着每当我想使用该conda
命令时,我都必须获取 Conda shell 脚本。现在我经常只注意到下面的三个命令,我实际上忘记获取该脚本,而我的 conda 调用没有执行任何操作。)
我怎样才能解决这个问题?
答案1
/etc/zsh_command_not_found
在你的主目录中创建一个副本:
cp /etc/zsh_command_not_found ~/.zsh_command_not_found
使用您想要的编辑器打开它:
vim ~/.zsh_command_not_found
--no-failure-msg
从此行中删除标志:
/usr/lib/command-not-found --no-failure-msg -- ${1+"$1"} && :
所以它看起来应该是这样的:
/usr/lib/command-not-found -- ${1+"$1"} && :
保存并关闭编辑器。
而不是寻找来源/etc/zsh_command_not_found
,而是~/.zsh_command_not_found
在你的来源中.zshrc
。
user@focal ~ % source ~/.zsh_command_not_found
user@focal ~ % csh
Command 'csh' not found, but can be installed with:
sudo apt install csh # version 20110502-5, or
sudo apt install tcsh # version 6.21.00-1
user@focal ~ % conda
conda: command not found
我不是zsh
用户,所以我不知道为什么默认--no-failure-msg
传递给。/usr/lib/command-not-found