自动补完不算什么,一键直达目录才是终极神器!

作者: Adrien Brochard 译者: GOLinux

| 2014-07-15 14:00:38   评论: 27

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

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

在Linux上安装autojump

在Ubuntu或Debian上安装autojump:

$ sudo apt-get install autojump

要在CentOS或Fedora上安装autojump,请使用yum命令。在CentOS上,你需要先启用EPEL仓库才行。

$ sudo yum install autojump

在Archlinux上安装autojump:

$ sudo pacman -S autojump

如果你找不到适合你的版本的包,你可以从GitHub上下载源码包来编译。

autojump的基本用法

autojump的工作方式很简单:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。

现在不管你在哪个目录,你都可以使用下面的语法来直接跳转到这些目录:

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

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

简言之,autojump将会受到所有命令行高级用户的欢迎。不管你是在ssh进一台服务器,还是仅仅想要追随复古潮流,敲更少的键来减少导航时间总是件好事。如果你真的热衷于此类工具,你也肯定也想看看Fasd,它应该会给你一个惊喜——我们下次再介绍它。

你觉得autojump怎么样?你会经常用它么?发表一下你的评论吧。



最新评论

kuroko [Chrome 50.0|Mac 10.11]  2016-06-02 23:43
对于我来说,的确是好东西,能省不少时间
linux [Chrome 50.0|Mac 10.11]  2016-05-11 19:58
写个介绍性质的文章呗?我们来宣传。这就是开源和极客精神啊!
linux [Chrome 50.0|Mac 10.11]  2016-05-11 19:58
给你10000个赞!
来自广东深圳的 Chrome 50.0|Mac 10.11 用户  2016-05-11 12:10
因为给 autojump 提 PR 加测试和修 bug 很久都没有收到回应
所以我自己用 Go 重写了一个:github.com/suzaku/shonenjump
因为是用 Go 写的,直接编译成可执行文件, 所以可以说安装的时候更简便了,直接下载到 PATH 中的某个目录就可以
来自北京的 Chrome 44.0|Mac 10.11 用户  2015-10-29 11:10
如果 log 下面也有一个 doc 文件夹呢?如何进入这个 log/doc?
Esteem  2015-04-21 22:30
刚开始用一定很不爽!毕竟都是根据使用频率来评判权重的。
来自 - 上海 的 Firefox/Linux 用户  2015-04-21 17:51
实际用了一下,一个j好爽啊~~~~
Nutall  2015-02-07 15:34
可以了,安装完后,要先source /etc/profile.d/autojump.sh后才行。在~/.bashrc里面添加了[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh 然后. .bashrc
knowaeap  2015-02-03 16:08
fedora21 也跳不动
Nutall  2014-10-28 09:08
恩,估计是bug吧。我把用yum安装的卸载了,去git上面下载的最新版本安装就ok了
linux  2014-10-27 22:19
居然你的头像是动态的,我都不知道支持 GIF 动态。。。哈哈
Nutall  2014-10-27 16:10
fedora 19跳不动呢?有相同遇到的吗?
arhool  2014-07-17 14:00
好方便的说
wangchn  2014-07-16 18:09
autojump
netb2c  2014-07-16 11:55
看着好流弊的样子.
微博评论  2014-07-16 00:03
autojump 妥妥的
微博评论  2014-07-15 19:03
卧槽!!
微博评论  2014-07-15 18:03
@我的印象笔记 //@西瓜大丸子汤:强烈推荐autojump,只要一个j,想去哪个地方去哪个地方
微博评论  2014-07-15 17:33
好腻害的样纸[熊猫]
linux  2014-07-15 16:31
你当然得先安装 autojump 啦,这又不是默认带的。
  2014-07-15 16:20
用不了啊,回车之后还是在当前目录,用j时候会说j:未找到命令
微博评论  2014-07-15 16:03
不错
零度王爵  2014-07-15 15:36
挺好!
7th  2014-07-15 14:41
呵呵。。。。。
微博评论  2014-07-15 14:33
深夜福利
微博评论  2014-07-15 14:33
强烈推荐autojump,只要一个j,想去哪个地方去哪个地方
微博评论  2014-07-15 14:33
@jia-Zz- 这个小羊挺可爱

友情链接
返回顶部