我刚刚从Bash迁移到Zsh,但我有一点问题。在Ubuntu系统上的bash中,当我键入不存在的命令的名称时,Bash在apt数据库中搜索匹配的命令名称并打印出提供该命令的包名称。这是一个非常有用的功能,所以我想知道是否可以使用脚本或其他东西在Zsh中实现这样的东西?
以下是一个例子:
$>xmms2
The program 'xmms2' is currently not installed. You can install it by typing:
sudo apt-get install xmms2-client-cli
或者如果命令不完全匹配:
$>xmms
No command 'xmms' found, did you mean:
Command 'lmms' from package 'lmms' (universe)
Command 'xmms2' from package 'xmms2-client-cli' (universe)
Command 'xmds' from package 'xmds' (universe)
Command 'xdms' from package 'xdms' (universe)
答案 0 :(得分:14)
根据MichałPolitowski的建议,我会回答我自己的问题并将其标记为已解决:)
要在zsh中获得此功能,请安装名为“command-not-found”的软件包(关于其他发行版的dunno,但在Ubuntu中它位于存储库中)。
注意:在Ubuntu 12.04中,默认安装此软件包。
sudo apt-get install command-not-found
然后你需要编辑你的.zshrc,然后通过在你的.zshrc中添加以下行来源文件/etc/zsh_command_not_found
source / etc / zsh_command_not_found