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

简介:

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

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

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

在Linux上安装autojump

在Ubuntu或Debian上安装autojump:

  
  
  1. $ sudo apt-get install autojump

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

  
  
  1. $ sudo yum install autojump

在Archlinux上安装autojump:

  
  
  1. $ sudo pacman -S autojump

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

autojump的基本用法

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

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

  
  
  1. autojump [目录的名字或名字的一部分]

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

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

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

  
  
  1. $ autojump do

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

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

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

还是同样的例子,输入:

  
  
  1. $ autojump d

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

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

  
  
  1. $ autojump -a [目录]

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

  
  
  1. $ autojump -i [权重]

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

  
  
  1. $ autojump -d [权重]

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

  
  
  1. $ autojump -s

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

  
  
  1. $ autojump --purge

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

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

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

原文发布时间:2014-07-15

本文来自云栖合作伙伴“linux中国”

目录
打赏
0
0
0
0
26198
分享
相关文章
用织梦实现一个从零到可以正常访问的网站--第二章
用织梦实现一个从零到可以正常访问的网站--第二章
84 0
|
9月前
用织梦实现一个从零到可以正常访问的网站--第三章
用织梦实现一个从零到可以正常访问的网站--第三章
51 0
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
1463 2
【Axure高手秘籍】掌握这招,让你的原型设计效率飙升!——元件库导入与使用教程及主流资源下载全解析
【8月更文挑战第20天】Axure RP是界面设计与交互原型制作的强大工具。掌握元件库能显著提升设计效率。元件库包含预设UI元素如按钮、表单等,可直接拖放构建布局。在Axure RP中,通过“元件”选项下的“库”可访问并导入新元件库。导入后,轻松拖放元件至画布调整,甚至自定义样式和交互。利用脚本还能模拟真实交互效果,如按钮点击反馈。推荐资源包括Axure Marketplace、UIZilla等,助力高效设计。
196 0
揭秘:Ubuntu系统下部署Anaconda环境及Python语言的终极指南!跟随这一步步神秘流程,解锁编程大师的秘密武器!
【8月更文挑战第19天】在Ubuntu中部署Anaconda环境与Python相当直观。首先需从官网下载Linux版安装包。接着,在终端依次执行命令:添加Anaconda清华镜像源至软件源列表,更新软件包信息,然后安装Anaconda。安装后可通过`anaconda --version`验证。使用`anaconda create -n myenv python=3.8`创建名为“myenv”的环境并指定Python 3.8版本。
379 0
用织梦实现一个从零到可以正常访问的网站--第一章
用织梦实现一个从零到可以正常访问的网站--第一章
73 0
《C++避坑神器·八》史上最全模板的使用
《C++避坑神器·八》史上最全模板的使用
62 0
面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器
之前我们搭建的ELK日志收集系统,主要是用来收集SpringBoot应用的日志。其原理是应用通过Logstash插件,使用TCP向Logstash传输日志,从而存储到Elasticsearch中去。但是有很多中间件的日志都是直接存储在文件中的,比如Nginx、Elasticsearch和MySQL,此时我们就需要一个搬运工来把日志搬到Elasticsearch中去,Filebeat正是这样一个日志搬运工,本文将详细介绍它的使用方法,希望对大家有所帮助。
重新更新VScode配置(C/C++)——负责任、手把手教学,亲测有效
对于C/C++的编程环境来说,目前我们所接触到的、所用到的,除了vim以外,大众用的、尤其是学生群体用的主要是有三种。
1434 1
重新更新VScode配置(C/C++)——负责任、手把手教学,亲测有效
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等