MacOS下创建新目录后用zoxide进入报错的解决方法咨询
解决zoxide创建目录后无法立即跳转的问题
问题根源:zoxide的z命令依赖其维护的目录访问数据库,刚创建的目录还未被收录,因此z无法匹配到该目录。
方案一:利用zoxide接管的cd命令(推荐)
如果已经通过eval "$(zoxide init bash)"完成zoxide初始化,系统的cd命令会被zoxide接管,执行cd时会自动将目录加入zoxide数据库。修改函数如下:
mcd () { mkdir -p -- "$1" && cd -- "$1" }
执行mcd mytemplates后,既会进入新目录,同时zoxide会自动记录该目录,后续可直接用z mytemplates跳转。
方案二:手动添加目录到zoxide数据库
如果坚持要用z命令跳转,可先将新目录手动加入zoxide数据库,再执行跳转:
mcd () { mkdir -p -- "$1" && zoxide add -- "$1" && z -- "$1" }
注意:确保已在bash配置文件(如~/.bashrc)中添加zoxide初始化命令:
eval "$(zoxide init bash)"
修改配置后需重启终端或执行source ~/.bashrc使配置生效。
内容的提问来源于stack exchange,提问作者user4687531
相关产品推荐
相关产品推荐

