Zsh包建议

问题描述:

我刚刚从Bash迁移到Zsh,但是我遇到了一些问题。在Ubuntu系统上的bash中,当我键入不存在的命令的名称时,Bash会搜索apt数据库以查找匹配的命令名称,并打印出提供该命令的软件包名称。这是一个非常有用的特性,所以我想知道是否可以在Zsh中使用脚本或其他东西来实现类似的东西?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

属于上superuser.com – 2010-07-23 09:05:05

+0

稀释ö k对不起,我在这里新:) – 2010-07-23 12:28:16

+0

@Paul R如果这个软件包不存在比不是一个编程问题? @如果你发现这个技巧的源代码,我可以把它移植到zsh。 – ZyX 2010-08-03 18:11:54

至于建议的米哈尔Politowski,我会回答我的问题,并把它标记为解决:)

要在zsh中获得此功能,请安装名为“command-not-found”的软件包(不知道其他发行版,但在Ubuntu中,它位于存储库中)。

注意:在Ubuntu 12.04中,此软件包默认安装。

命令和apt-get安装命令未找到

然后你需要编辑你的.zshrc然后源文件/ etc中/中加入下面的行zsh_command_not_found您.zshrc

源的/ etc/zsh_command_not_found

+2

只是要清楚。我已经安装了command-not-found,我需要添加的是以下to.zshrc'source/etc/zsh_command_not_found' – Sam 2014-02-03 11:43:28