如何拥有自定义 zsh auto_cd 命令

如何拥有自定义 zsh auto_cd 命令

我创建了自己的函数,而不是普通的 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 ...

相关内容