终端下的路径切换工具
【终端下的路径切换工具】在终端下路径切换的工具除了cd
外,还有以下更高级的工具可以使用。
工具名称 | 创建年份 | 主要作者 |
---|---|---|
autojump | 2008 | Joel Schaerer & William Ting |
z.sh | 2009 | Rupa |
fasd | 2011 | Wei Dai |
z.lua | 2018 | Lin Wei |
-
数据文件
记录用户进入过的目录,频率。 - 使用这些工具的前提是
数据文件
中存在相关记录。 - 每次进入一个目录工具会更新
数据文件
。
下面数据来自z.lua官方。
$ time autojump --add /tmp
real0m0.352s
user0m0.077s
sys0m0.185s$ time fasd -A /tmp
real0m0.618s
user0m0.076s
sys0m0.242s$ time _z --add /tmp
real0m0.194s
user0m0.046s
sys0m0.154s$ time _zlua --add /tmp
real0m0.052s
user0m0.015s
sys0m0.030s
使用
z foo # 跳转到包含 foo 并且权重(Frecent)最高的路径在工作中,我常用用
z foo bar # 跳转到同时包含 foo 和 bar 并且权重最高的路径
z -r foo # 跳转到包含 foo 并且访问次数最高的路径
z -t foo # 跳转到包含 foo 并且最近访问过的路径
z -l foo # 不跳转,只是列出所有匹配 foo 的路径
z -c foo # 跳转到包含 foo 并且是当前路径的子路径的权重最高的路径
z -e foo # 不跳转,只是打印出匹配 foo 并且权重最高的路径
z -i foo # 进入交互式选择模式,让你自己挑选去哪里(多个结果的话)
z -I foo # 进入交互式选择模式,但是使用 fzf 来选择
z -b foo # 跳转到父目录中名称以 foo 开头的那一级
z -i
和 z -b
。以前用autojump,习惯用j,并且字母j就在右手食指默认位置,方便。故添加下面的别名。alias j='z -i'
alias jb='z -i'
-
j
我喜欢列出来自己选择,相对直观。 -
jb
类似Android 编译环境中的croot。
(没有参数):cd 到项目根目录,即跳转到最近的包含 (.git/.svn/.hg) 的父目录。
(单个参数):cd 到离当前目录最近的以关键字开头的父目录,如果找不到就尝试跳到包含关键字的父目录。
(两个参数):将当前路径中的第一个关键词替换为第二个关键词。
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量