我们每天的工作从打开电脑开始,以ubnutu为例,开机后CTRL+ALT+T打开终端,然后进入工作目录,cd /home/xxx/workspace/xxx,git代码同步,开始编码。不一会儿开启了多线程工作模式,CTRL+ALT+T打开第二个终端,cd /home/xxx/workspace/yyy进入第二个工作目录......
幸亏有TAB键的快捷方式,让我在进入每个工作目录时可以至少节省10多次按键,cd /h[TAB]/x[TAB]/w[TAB]/x[TAB]。但我们仍然在cd命令上不断重复敲击键盘,尤其是代码下载的工作目录几乎每天都要去造访几次。
如果上述大长串的cd命令简化为j xxx、j yyy是不是感觉要飞起来了?如果这个命令还可以根据你的访问频率自动调整顺序,也就是说经常去的地方有VIP直达通道,不需要排队,这个工具是不是值得立即拥有?
autojump工具就实现了这些功能,工具基于python实现,需要在自己的开发环境先安装python。访问https://github.com/wting/autojump/releases下载最新的版本,解压后直接运行python install.py,根据提示将以下内容拷贝到~/.bashrc中即可:
[[ -s /root/.autojump/etc/profile.d/autojump.sh ]] &&
source /root/.autojump/etc/profile.d/autojump.sh
工具的使用方法也非常简单,工具三组常用的命令,如下:
j path直接快速进入包含path的访问次数最多的目录;
jc subpath直接快速进入当前目录下包含subpath的子目录;
jo path使用文件浏览器打开包含path的目录。
更多命令帮助可以参考j --help获取。
宝哥总结:
github的autojump工程收获了近9000个star,之所以获得了如此广泛的关注,是因为工具用很简单的方法解决了很现实的痛点需求。
《产品经理的20堂必修课》里有段对产品设计简单原则的阐述,很好的诠释了工具或产品要简单设计的重要性:“用户是喜欢简单的产品的,因为简单是人的天性,人们在使用产品时,不愿意被打扰,不愿意做过多的思考,不愿意进行复杂的操作,他们只想自己的需求轻松地得以满足。”
再看看工具的实现思路。打开~/.local/share/autojump/autojump.txt,这个文件存储了每天进入的目录以及计算的权重信息,类似:
22.360679775 /root/.autojump/bin
36.0555127546 /root/.autojump
14.1421356237 /root/.local/share/autojump
与j -s命令的返回结果也是一致的。访问目录的基础数据被分类计算并存储到了txt文件中,每次敲j xxx时实现就简单了,直接根据权重值大小进入权重最大的目录即可。
从这里也可以看出,首次使用时或第一次进入某个目录时,因为autojump.txt文件里没有这个目录的初始数据,所以需要先通过cd命令进入一次,后续才可以自动jump过去。
领取专属 10元无门槛券
私享最新 技术干货