Zsh tab-completion for “cd ..” [closed]

2020-05-20 07:14发布

How can I configure the Zsh tab-completion such that when I type cd ..<TAB> it expands to cd ../ and after pressing <TAB> again proposes the folders in the parent directory for completion?

E.g. it should show the same behavior as when typing for example cd Documents<TAB> which expands to cd Documents/ and after pressing <TAB> again proposes the folders in Documents for completion.

As a starting point for configuration I use an empty .zshrc and Zsh 4.3.9 from MacPorts.

4条回答
Explosion°爆炸
2楼-- · 2020-05-20 07:39

This may or may not be a useful answer - switch to bash, which does what you want out of the box.

查看更多
做自己的国王
3楼-- · 2020-05-20 07:40

Put this into your ~/.zshrc:

autoload -Uz compinit
compinit

There is also a project with zsh functions/configurations for Mac OS X on http://code.google.com/p/zsh-templates-osx/ . Personally I think it's an overkill to use the whole package. But found it useful to cherry pick some tricks, functions, completions etc. and create my own .zshrc

查看更多
混吃等死
4楼-- · 2020-05-20 07:43

In fact I now discovered that the problem does not seem to come from the configuration. When using a .zshrc which only contains

autoload -Uz compinit
compinit

The tab-completion works as intended for cd ..<TAB> when using the default Mac OS X Zsh (4.3.4). But with the MacPorts Zsh (4.3.9) the tab-completion only works for other folders and not for ..

查看更多
爷的心禁止访问
5楼-- · 2020-05-20 07:44

Same problem with debian unstable, Ubuntu jaunty, both ship zsh 4.3.9. I know of multiple people with different configurations.

After reading http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514152 I added

zstyle ':completion:*' special-dirs true

to my config and now everything works fine again.

查看更多
登录 后发表回答