快速回到父目录
"-b"
选项可以快速回到某一级父目录,避免重复的输入 “cd ../../..”。
- (没有参数):
cd
到项目根目录,即跳转到最近的包含 (.git/.svn/.hg) 的父目录。 - (单个参数):
cd
到离当前目录最近的以关键字开头的父目录,如果找不到就尝试跳到包含关键字的父目录。 - (两个参数):将当前路径中的第一个关键词替换为第二个关键词。
先将 z -b
别名成 zb
:
# 一直向上退到项目根目录(就是里面有一个 .git 目录的地方)
~/github/lorem/src/public$ zb
=> cd ~/github/lorem
# cd 到第一个以 g 开头的父目录
~/github/vimium/src/public$ zb g
=> cd ~/github
# 快速回到 site 目录
~/github/demo/src/org/main/site/utils/file/reader/whatever$ zb si
=> cd ~/github/demo/src/org/main/site
# 将 jekyll 替换为 ghost
~/github/jekyll/test$ zb jekyll ghost
=> cd ~/github/ghost/test
向后跳转同样也支持环境变量 $_ZL_ECHO
(用来显示跳转结果),这样可以搭配其他工具,在目标目录内执行命令,而并不需要改变当前工作目录(比如:ls `zb git`
)。
环境变量 $_ZL_ROOT_MARKERS
是一个逗号分隔的列表,用来识别项目根目录,可以重定义成:
export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json"
这样在用 zb
时,可以回到包含 .root
文件,或者 package.json
文件的父目录。
Bonus:zb ..
相当于 cd ..
,zb ...
相当于 cd ../..
,而 zb ....
相当于 cd ../../..
等等。 最后 zb ..20
等同于调用 cd ..
二十次。
当前内容版权归 skywind3000 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 skywind3000 .