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

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

作者: 天空汁橙 | 来源:发表于2017-04-13 10:39 被阅读118次

    注:本篇文章属于转载   linux autojump 

    在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls

    ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸

    的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你

    一定会对autojump感到惊喜。

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

    在Linux上安装autojump

    Ubuntu或Debian上安装autojump:

    $ sudo apt-getinstall autojump

    要在CentOSFedora上安装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看起来更像机器学习语言,记录我们平时使用的路径,这无疑对于使用linux终端开发者来说是一种进步,同时我们也期待它能像 "cd" "ls" 一样也能进行路径切换,在使用中学习,从学习中提供便利!

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/rdfbattx.html