命令行下的快速跳转脚本-Z

  • 首先将Z下载下来:

    $ git clone https://github.com/rupa/z.git
    

    我是下载在了/home/williams/Documents/z目录下。

  • 然后是配置 z.sh 文件:

    用 zsh 的进 .zshrc 配置:

    $ vi ~/.zshrc
    

    用 bash 的进 .bashrc 配置:

    $ vi ~/.bashrc
    

    在里面的第一行写入:

    $ source ~/Documents/z/z.sh
    

    然后:wq保存。

  • 接着$ source ~/.zshrc$ source ~/.bashrc,如果没报错即可使配置生效,然后你就可以自由的在目录间切来切去了。z 可以跳转到我们曾经去过的所有目录。

  • 切换方法:

    • $ z
    • $ z Music
    • $ zz

命令行下的快速查找脚本-fzf

  • fzf安装命令:

    $ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
    $ ~/.fzf/install
    
  • 安装后重启 shell 运行

  • 运行方法:

    $ fzf
    

结合 z 和 fzf

把 z 和 fzf 结合在一起,实现快速跳转

unalias z           
j() {
     if [[ -z "$*" ]]; then
         cd "$(_z -l 2>&1 | fzf +s | sed 's/^[0-9,.]* *//')"
     else
         _last_z_args="$@"
         _z "$@"
     fi
}

jj() {
     cd "$(_z -l 2>&1 | sed 's/^[0-9,.]* *//' | fzf -q $_last_z_args)"
}

  • 此脚本放置于 ~/.bashrc 或 ~/.zshrc 中

  • 第一行表示 z 这个功能不要了

  • j() 函数表示按 j 可以有 z 和 fzf 的功能

    并且当你输入 $ j Docu 会默认给你返回一个你之前去过并且目录中含有 Docu 的目录。

  • jj() 函数表示如果你要的不是这个默认返回的目录,可以按 jj 重新进行 fzf 选择。