Zsh书签目录,标签完成?

Zsh书签目录,标签完成?,zsh,zshrc,zsh-completion,Zsh,Zshrc,Zsh Completion,我想要的是: cd c/ra完成~/code/rails应用程序,cd c/显示~/code 我目前拥有的: cra如果我有一个目录~/code/rails app,c显示~/code中的目录列表,则完成到crails app 通过在my.zshrc中使用此选项: c() { cd ~/code/$1; } _c() { _files -W ~/code -/; } compdef _c c 这个工具看起来很有前途:但我想要更轻量级的工具。选项卡完成,如您所描述的,至少对于目录,应该可以通

我想要的是:

cd c/ra
完成
~/code/rails应用程序
cd c/
显示
~/code


我目前拥有的:

cra
如果我有一个目录
~/code/rails app
c
显示
~/code
中的目录列表,则完成到
crails app

通过在my
.zshrc
中使用此选项:

c() { cd ~/code/$1; }
_c() { _files -W ~/code -/; }
compdef _c c


这个工具看起来很有前途:但我想要更轻量级的工具。

选项卡完成,如您所描述的,至少对于目录,应该可以通过
zsh
完成,而无需编写
zsh
函数

例如,请注意,键入
/u/l/b
,然后选项卡在提示符下展开为
/usr/local/bin

这对我来说很有用-如果我制作一个目录
~/code/rails app
如下:

zsh% ls ~/code
another-app       another-dir rails-app
zsh% ls ~/code/rails-app
one two
然后:

zsh%cd c/ra#这扩展为“cd-code/rails应用程序”
zsh%cd c/#双制表符,一个用于将“c”扩展为“code”,
zsh%###秒给我zsh完成菜单
我无法指出这是哪个
zsh
选项-我使用了一个经过大量修改的
~/.zshrc
和一些代码。这可能是
zsh
提供的功能,无需启用;如果没有,请在第一个链接或
oh my zsh
中的某个地方提供详细信息,甚至可以提供帮助。(至少可以说,我觉得这本手册有点……让人不知所措)

我不认为您需要编写函数来实现这种行为-
zsh
肯定能够做到这一点。

我决定使用fasd,这是解决我问题的另一种方法。但是谢谢,您的完全正确的Zsh autocomplete具有我所要求的大部分功能。
zsh% cd c/ra<TAB> # this expands to 'cd code/rails-app'
zsh% cd c/<TAB><TAB> # Double tab, one to expand "c" to "code", 
zsh% #               # second gives me the zsh-completion menu