你好呀,
就在今天,我开始使用 zsh,并且我也开始将我的配置从 bash 移植到 zsh。 我设法定义了j
别名,但没有定义自动完成功能。
我可以在这里看到 bash 自动跳转完成的设置https://github.com/joelthelion/autojump/blob/master/bin/autojump.bash#L13但我在这里看不到任何 zsh 特定的自动完成设置https:// github.com/joelthelion/autojump/blob/master/bin/autojump.zsh
这是一个错误还是我做错了?
抱歉,它有点隐藏在文档中,但是 zsh 自动完成需要额外的配置。
我补充说,但j<space><tab><tab>
只完成当前目录中的文件名
这可能是一个错误。 我现在没有时间,但我会在可以的时候进一步研究。
酷,谢谢
同样的问题,在运行 zsh 4.3.11 的 Mac 10.7.5 上。 我无法让自动完成工作。 我尝试使用 oh-my-zsh 插件和简单的手动安装。 我也尝试将 ~/.autojump/bin 放在路径上。 没有任何帮助。
自动跳转本身有效(例如“j src”),但制表符补全无效。 它只显示当前目录的文件。
不管怎样,让我对你们所有的开发工作表示深深的感谢! 我非常想提出一个解决方案而不仅仅是抱怨,但我无法解决这个问题......
您需要在加载 autojump 后添加autoload -U compinit && compinit
行才能使 zsh 选项卡完成工作。
感谢您的调查,但这对我来说似乎没有什么不同。 我从 .zshrc、.zshenv 和 .zprofile 中删除了所有其他条目,以获得一个普通的 zsh,然后运行source .autojump/etc/profile.d/autojump.zsh
和autoload -U compinit && compinit
。 仍然是相同的行为:自动跳转有效,但没有选项卡完成。
grota,你能在你的机器上测试吗?
当然,我稍后会尝试,但是 IIRC 我尝试从提示符启动该命令,但它不起作用。 我稍后会发布确认信息。
确认了,没用。 @wting自动完成功能是否可能是由最近删除的_j
文件实现的?
可能,但是当我回滚并安装该版本时,我没有得到标签完成。
我刚刚将 zsh 从版本 4.3.11(预装)更新到 5.0.2(通过 macports)。 在那个版本中,一切都按预期工作。 所以也许我们应该在某处添加这个提示并保留它?
我刚刚从源代码编译、安装并运行 zsh 5.0.0,但我没有得到自动完成
好的,它现在应该可以正常工作了。 T_T
是的,谢谢!
我在这里用 zsh 5.0.0(来自 Ubuntu 12.10)描述了同样的问题,尝试添加 compinit. 但我还需要将 ~/.autojump 添加到 fpath 以使完成工作:
fpath=( ~/.autojump "${fpath[@]}" ) # do before sourcing autojump
使用自制 zsh 对我有用:http:
最有用的评论
您需要在加载 autojump 后添加
autoload -U compinit && compinit
行才能使 zsh 选项卡完成工作。