如何配置 Zsh 选项卡完成,以便当我键入cd ..<TAB>
它时它会展开cd ../
并在再次按下<TAB>
后建议父目录中的文件夹完成?
例如,它应该显示与键入时相同的行为,例如cd Documents<TAB>
,它扩展为cd Documents/
并在再次按下<TAB>
后建议文件夹Documents
完成。
作为配置的起点,我使用.zshrc
来自 MacPorts 的空 Zsh 4.3.9。
如何配置 Zsh 选项卡完成,以便当我键入cd ..<TAB>
它时它会展开cd ../
并在再次按下<TAB>
后建议父目录中的文件夹完成?
例如,它应该显示与键入时相同的行为,例如cd Documents<TAB>
,它扩展为cd Documents/
并在再次按下<TAB>
后建议文件夹Documents
完成。
作为配置的起点,我使用.zshrc
来自 MacPorts 的空 Zsh 4.3.9。
debian 不稳定,Ubuntu jaunty 也有同样的问题,都发布了 zsh 4.3.9。我知道多个具有不同配置的人。
阅读http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514152后我添加了
zstyle ':completion:*' special-dirs true
到我的配置,现在一切正常。
把它放到你的 ~/.zshrc 中:
autoload -Uz compinit
compinit
在http://code.google.com/p/zsh-templates-osx/上还有一个用于 Mac OS X 的 zsh 功能/配置项目。就个人而言,我认为使用整个软件包有点过头了。但发现挑选一些技巧、功能、完成等并创建我自己的 .zshrc 很有用
事实上我现在发现问题似乎不是来自配置。当使用.zshrc
仅包含
autoload -Uz compinit
compinit
cd ..<TAB>
使用默认的 Mac OS X Zsh (4.3.4) 时,tab-completion 按预期工作。但是对于 MacPorts Zsh (4.3.9),tab-completion 仅适用于其他文件夹,不适用于 ..
这可能是一个有用的答案,也可能不是一个有用的答案 - 切换到bash,它可以做你想要的开箱即用。