在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。


autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处

上面这段话引用的程序员那些事上的一篇公众号上的文章,看了之后我还是欣喜若狂的,毕竟切换目录的烦恼对于我们这些在linux下工作的程序猿来说,真的是很头疼。

下面说下安装方式:

由于我们是Centos环境,所以用如下命令安装

# yum   install    autojump

当时上述安装必须需要root权限才可以,但是遗憾的是安装完成之后,我尝试了下autojump命令,发现根本不起作用,感情这是忽悠我吗?于是我查看了下说明文档

# man   autojump

发现只有寥寥几行介绍,因为yum源是公司的,所以应该是版本太低导致的,所以我直接移除了

# yum  remove  autojump

既然这样不行,那就下载源码安装咯


从github上下载源码

git clone git://github.com/joelthelion/autojump.git

# cd autojump

# python install.py 可以安装

注意,安装的最后会提示我们需要将一行代码拷贝到~/.bashrc目录下,应该是设置环境变量,这样就可以愉快的使用啦。可以使用缩写j命令哈

# j wangyi

# j qq

autojump命令自己有一个库,对于你从安装了autojump之后切换过的目录,autojump都会存储下来,会根据你切换的频次,每个目录会有一个权重,当然这些权重你可以手动设置,那么你使用的时候就可以

#j  wangyi

这里wangyi只需要是你想跳到的那个目录的一个关键字就可以了

下面还是引用那篇文章的话哈:

注意,你不需要输入完整的名称,因为autojump会检索它的数据库,并返回最可能的结果。


例如,假定我们正在下面的目录结构中工作。

一款好用的切换目录的工具autojump

那么下面的命令将直接让你跳到/root/home/doc下,不管你当前位置在哪里。


$ autojump do


如果你也很讨厌打字,那么我推荐你为autojump起个别名,或者使用默认的别名。


$ j [目录的名字或名字的一部分]


另外一个引人注目的功能是,autojump支持zsh和自动补完。如果你不确认哪里是不是你要跳转的地方,敲击TAB键就会列出完整路径。


还是同样的例子,输入:


$ autojump d


然后敲击tab键,将会返回/root/home/doc或者/root/home/ddl。


最后,对于高级用户,你可以访问目录数据库,并修改它的内容。可以使用下面的命令来手动添加一个目录:


$ autojump -a [目录]


如果你突然想要把当前目录变成你的最爱和使用最频繁的文件夹,你可以在该目录通过命令的参数 i 来手工增加它的权重


$ autojump -i [权重]


这将使得该目录更可能被选择跳转。相反的例子是在该目录使用参数 d 来减少权重:


$ autojump -d [权重]


要跟踪所有这些改变,输入:


$ autojump -s


这会显示数据库中的统计数据。而以下:


$ autojump --purge


命令将会把不再存在的目录从数据库中移除。


相关文章:

  • 2021-11-04
  • 2021-07-15
  • 2022-01-10
  • 2021-12-26
  • 2021-05-31
  • 2021-06-12
  • 2021-11-22
猜你喜欢
  • 2022-12-23
  • 2021-07-27
  • 2021-12-31
  • 2021-12-24
  • 2021-12-10
  • 2021-05-02
  • 2021-10-25
相关资源
相似解决方案