命令行里打 cd 简直是浪费生命

简评:做为工程师,你在命令行下最常打的命令无非就是 cd 与 ls。这些年你浪费了多少时间? 做为一个程序员或者在 shell 中花费大量时间的人,你可能会常常以一种低效率的方式在目录中来回移动,特别是天天常常访问相同目录。git

好比像这样:程序员

输入图片说明

固然你可能用的稍微熟练点了,用 Tab 能省很多事,像这样:shell

v2-ef9ea2b812f12cc33461f35214954b69_hd.jpg

不错!你大约节省了 20 次的输入,值得称赞。你也会使用 mkdir 建立新目录并直接进入新建目录(cd !$),你也能记住 project 的目录,你就不用老 ls 来寻找文件。不过现实问题,人不是电脑,咱们能记住一两个,但不可能记住所有,咱们的效率不够高。bash

有没有想过这种方式?工具

v2-27aa1130f6a716da867cdbbfef5757f1_hd.jpg

如今只须要 j d(或者 j dev、j develop)就能够跳转到 ~/Develop 目录,j p 就能够跳转单 ~/Develop/project。效率大幅提升。操作系统

看看对比:命令行

v2-ba332fb79fb918ec4c17be4485b4d6d1_hd.jpg

这是如何实现的?3d

用 AutoJump 能够作到。(GitHub 地址:wting/autojump)code

根据官方介绍,它能以更快的方式浏览系统文件,这并不许确,或者说很谦虚。据我彻底估计,用 AutoJump 至少让我省了 100 个小时,最起码省了这么多。blog

Autojump 是如何工做的?

看看这两个命令:

v2-27f646dbc12cf8b5ac05c7feee92ddf9_hd.jpg
v2-5623f0ae99c273b73d3c018a197370b2_hd.jpg

它们的做用相同。AutoJump 会记住 cd 命令并用 j 来进入全部的目录。更重要的是 AutoJump 能够模糊匹配。意味着只须要提供一个字母,就能够匹配到以前访问过的该首字母的目录。

若是有两个以 p 为开头的目录怎么办?

这就是有趣的地方。

当你第一次输入 cd directory_name,AutoJump 会记录该目录并成为绝对路径,并将其指定权重为 10.0 分。

举个例子:

v2-29363ba6c2438561f720fb5c98fed464_hd.jpg

而后输入 j -s 命令能够看到(s 表明统计信息):

v2-7228c22c50f5bbe82445a2168287f3f6_hd.jpg

若是你再次 cd/var 后,j -s,看看会发生什么?

v2-5c1ee7429059b505a55329aa8beb8e4b_hd.jpg

对,这个路径的权重增长了。好比看看我电脑上的 j -s,我平时都在干什么你就会一目了然:

v2-1b06450840e1c02033153d153a4646fe_hd.jpg

我第一个campus 和第四个 SodeSchool 都包含字母 c,那么 AutoJump 应该县跳转到哪一个目录呢?

因为 campus 权重低,因此会 j c 会跳到 CodeSchool 目录,若是重复 j c 命令,就会跳转到 campus 目录。

v2-c9b9d705e6a5eea14e966718b25be595_hd.jpg

若是你不喜欢 AutoJump 自动设置的路径,你能够本身设置匹配:

v2-bfd83513c20c279292c2a1b2e4347dc8_hd.jpg

你能够设置后面的数字, j c _4 就是 j c 跳转到第四个目录。

高级功能

  • jc(注意没空格 不是上面的 j c)仅在子目录下跳转,很是适合寻找被嵌套的 log
  • jo 会在操做系统下打开匹配的目录。
  • j-i 增长当前目录权重
  • j-d 减小当前目录权重
  • j--purge 消除全部的权重

**安装 AutoJump **

AutoJump 支持:

  • Python v2.6+(除了 3.2 版本)
  • 支持的 shell:
  • bash v4.0+
  • zsh
  • fish
  • tcsh (experimental)
  • clink (Windows, experimental)

你能够经过许多 Linux 软件包安装器来安装。对于 MacOS 我推荐 Homebrew 的 brew install autojump,真的超简单方便。

把 Autojump 放在.bash_profile 或者 .szhrc 下,输入命令行:

[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh

它会自动检查脚本是否可用并加载到 shell 中。

你也能够克隆 git 仓库,手动安装。无论怎么说,它都是一个很是简单的、稳定的工具。

我用了它的这些年里,历来没有后悔过。

下载地址:wting/autojump(GitHub)

相关文章
相关标签/搜索