美文网首页
终端下的路径切换工具

终端下的路径切换工具

作者: ppt315 | 来源:发表于2019-06-15 00:15 被阅读0次

    在终端下路径切换的工具除了cd外,还有以下更高级的工具可以使用。

    工具名称 创建年份 主要作者
    autojump 2008 Joel Schaerer & William Ting
    z.sh 2009 Rupa
    fasd 2011 Wei Dai
    z.lua 2018 Lin Wei

    核心思想:

    1. 数据文件记录用户进入过的目录,频率。
    2. 使用这些工具的前提是数据文件中存在相关记录。
    3. 每次进入一个目录工具会更新数据文件

    z.lua 号称是最快的,能在极端环境下使用。
    下面数据来自z.lua官方。

    $ time autojump --add /tmp
    real    0m0.352s
    user    0m0.077s
    sys     0m0.185s
    
    $ time fasd -A /tmp
    real    0m0.618s
    user    0m0.076s
    sys     0m0.242s
    
    $ time _z --add /tmp
    real    0m0.194s
    user    0m0.046s
    sys     0m0.154s
    
    $ time _zlua --add /tmp
    real    0m0.052s
    user    0m0.015s
    sys     0m0.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 -iz -b。以前用autojump,习惯用j,并且字母j就在右手食指默认位置,方便。故添加下面的别名。


        alias j='z -i'
        alias jb='z -i'


    • j 我喜欢列出来自己选择,相对直观。
    • jb 类似Android 编译环境中的croot。
       (没有参数):cd 到项目根目录,即跳转到最近的包含 (.git/.svn/.hg) 的父目录。
       (单个参数):cd 到离当前目录最近的以关键字开头的父目录,如果找不到就尝试跳到包含关键字的父目录。
       (两个参数):将当前路径中的第一个关键词替换为第二个关键词。

    相关文章

      网友评论

          本文标题:终端下的路径切换工具

          本文链接:https://www.haomeiwen.com/subject/fivclqtx.html