所以我现在已经让ZSH做了所有这些很酷的东西,但真正令人敬畏的是,如果我能在每次调用'cd'之后隐式运行'ls -a'。我想这必须放在.zlogin文件或.aliases文件中,我只是不确定最佳解决方案是什么。思考?参考资料?
答案 0 :(得分:55)
将以下内容放入.zshrc:
function cd() {
emulate -LR zsh
builtin cd $@ &&
ls -a
}
修改强>
在查看文档(zshbuiltins
,cd
内置或hook functions的说明)之后,我找到了一种更好的方法:它使用chpwd
函数:
function chpwd() {
emulate -L zsh
ls -a
}
或使用chpwd_functions
数组:
function list_all() {
emulate -L zsh
ls -a
}
chpwd_functions=(${chpwd_functions[@]} "list_all")
答案 1 :(得分:4)
短版。
autoload -U add-zsh-hook
add-zsh-hook -Uz chpwd (){ ls -a; }
答案 2 :(得分:0)
我不知道为什么会这样,或者情况是否更好,但是我发现这也适用于.zshrc。似乎比大多数答案都短,尽管可能缺少我不明白的内容。
chpwd() ls -a