文档章节

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

猪猪daxia
 猪猪daxia
发布于 2015/08/06 14:09
字数 994
阅读 111
收藏 7

在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“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怎么样?你会经常用它么?发表一下你的评论吧。


本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2014-07/104356.htm

本文转载自:http://www.linuxidc.com/Linux/2014-07/104356.htm

猪猪daxia
粉丝 6
博文 38
码字总数 10174
作品 0
海淀
程序员
私信 提问
加载中

评论(2)

哎码
哎码
我去。这个简直不要太屌
淡定小猫
淡定小猫
打卡
Oh-My-Zsh的自动安装和功能集成

Linux和Mac系统默认的shell 都是bash,但是真正强大的shell应属于zsh,99%兼容bash,是shell中的终极杀手,有很多bash所没有的功能,但是zsh的初期配置太过繁琐,流行率一直不高,直到有个叫...

shanker
2018/06/26
0
0
Macbook 终极 Shell

主题设置: vi ~/.zshrc theme="edvardm" ####Cyper的抓屏: 以下是转载部分: ================================ 在开始今天的 MacTalk 之前,先问两个问题吧: 1、相对于其他系统,Mac 的主...

cyper
2015/08/05
1K
1
那些你觉得堪称神兵利器的 Chrome 插件

子曾曰:“工欲善其事,必先利其器。居是邦也。”——语出《论语·卫灵公》;其后一百多年,荀子也在其《劝学》中倡言道:“吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见...

jeffjade
2017/01/27
0
0
命令行里打 cd 简直是浪费生命

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

极光推送
2018/04/24
70
0
Linux-Ubuntu下安装zsh+OhMyZsh+autojump

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sssssuuuuu666/article/details/79772816 平常我们执行命令的shell基本上都是在bash下,也很少看到周围有人用...

Suhw
2018/04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0
实战项目-学成在线(八)

在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。 注册中心作用: 1、微服务数量众多,要进行远程调用就需要知...

lianbang_W
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部