我创建了自己的函数,而不是普通的 cd
function cd {
builtin cd "$@" && ls -F
}
当我使用像这样的命令时,这非常有用cd someDir/subDir
,但当我通过 zsh 的 auto_cd 更改目录时却不起作用someDir/subDir
。
有没有办法自定义调用什么命令auto_cd
?
答案1
在目录更改上运行某些命令的典型方法是通过chpwd
钩子函数(或在适当命名的数组中命名的函数列表chpwd_functions
):
% function chpwd () { pwd }
% cd ~/tmp
/Users/jdoe/tmp
% pushd /etc
/etc ~/tmp
/etc
% chpwd_functions=( chpwd_do_ls )
% function chpwd_do_ls () { ls }
% cd /
/
Applications ...