Zsh
如何將別名設置為 cd 到帶有完成的子目錄?
我已經在我的
~/.zshrc
:cdp() { cd "/mnt/c/Users/Mark/PhpstormProjects/$1" }
但我沒有得到它的標籤完成。有沒有辦法讓我在選項卡時自動完成目錄名稱?
為定義一個完成函式
cdp
。按照慣例,該函式被呼叫_cdp
。您可以在您的中定義它.zshrc
並使用compdef
._cdp () { … # code goes here } compdef _cdp cdp
或者,使用完成自動載入指令將完成程式碼放入您
$fpath
呼叫的文件中。_cdp
#compdef cdp … # code goes here
要完成目錄,請使用
_files -/
. 要完成與目前目錄不同的位置的目錄,請使用-W
選項。由於這個函式只接受一個參數,所以只完成第一個參數。_cdp () { ((CURRENT == 2)) && _files -/ -W /mnt/c/Users/Mark/PhpstormProjects }
除了此功能,您可能更喜歡將目錄添加到
cdpath
.cdpath+=/mnt/c/Users/Mark/PhpstormProjects