2012-02-17 67 views
0

我想要什么:带标签页填写的Zsh书签目录?

cd c/ra<tab>完成对~/code/rails-appcd c/<tab>显示内~/code


迪尔斯列表我目前有:

c ra<tab>完成对c rails-app,如果我有一个目录~/code/rails-appc <tab>显示~/code

中的目录清单

通过我.zshrc有这样的:

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


这个工具看起来很有希望:https://github.com/flavio/jump但我喜欢的东西更轻巧。

回答

1

如您所描述的标签填充,至少对于目录,应该可以通过zsh来实现,而不需要编写zsh函数。

This link,例如,注意到,打字/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<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 

我无法指出其zsh选项,这是 - 我使用的是相当大的修改~/.zshrcoh-my-zsh位。这可能是由zsh给出的功能,不需要启用;如果不是,第一个链接或oh-my-zsh或甚至some version of the ZSH manual的某处的详细信息应该有所帮助。 (尽管我觉得手册有点......压倒性的,但至少可以说)。

我不认为你需要编写一个函数来实现这种行为 - zsh绝对能够做到这一点。

+0

我决定使用fasd https://github.com/clvv/fasd这是一种解决我的问题的不同方式。但是,谢谢你,Zsh的自动完成功能正是我所要求的大部分功能。 – 2012-05-17 16:39:15