2012-02-17 45 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