如何将此 Bash 完成函数转换为 Zsh 完成函数?
此 Bash 函数允许您使用 Tab 键自动补全当前工作目录上方的目录名称,以便更快、更准确地在文件层次结构中导航。
例如:
$ pwd
/Users/me/Animals/Mammals/Ungulates/Goats/Ibex
$ upto Animals
$ pwd
/Users/me/Animals
代码:
function upto {
if [[ -z $1 ]]; then
return
fi
local upto=$1
cd "${PWD/\/$upto\/*//$upto}"
}
_upto()
{
local cur=${COMP_WORDS[COMP_CWORD]}
local d=${PWD//\//\ }
COMPREPLY=( $( compgen -W "$d" -- "$cur" ) )
}
complete -F _upto upto
我希望在zsh中有一个类似的,但我并不完全理解它是如何工作的,更不用说如何修改它以适应zsh了。