博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
z.lua 1.6.0 发布,会学习你习惯的 cd 命令
阅读量:7234 次
发布时间:2019-06-29

本文共 1725 字,大约阅读时间需要 5 分钟。

  hot3.png

z.lua 是一个命令行下快速切换路径的工具。

首先,该工具会学习你最常去路径,然后用一套基于 frecency (兼顾访问频率和最近访问时间)的算法来筛选历史路径。让你可以简单的输入几个字符就把你带到特定的目录下去。别指望 z.lua 马上就能工作,他需要一小段时间的学习和跟踪。

市面上也有一些 z.lua 类似的工具,z.lua 比他们都快很多,开发者称 z.lua 比 /  快十倍,同时比 快 3 倍。除此以外,z.lua 实现了两套匹配算法,默认匹配算法和 z.sh 一致,而增强型匹配算法比 z.sh 和 autojump 更高效,具体在项目主页有说明。

z.lua 特性:

  • 比 fasd / autojump 快十倍,比 z.sh 快 3 倍.
  • 支持: bash, zsh, dash, sh, ash, ksh, busybox, Fish Shell, Power Shell 和 Windows cmd.
  • 两种目录匹配算法和两种目录记录方法。
  •  模式允许你在 cd 前选择自己想要的地方(当有多个匹配时 z -i 会显示一个列表让你选择)。
  • 集成  (可选) 用可视化的模式进行交互式选择和补全.
  • ,避免重复 cd ../../..
  • 为不同的操作系统和 Shell 提供统一的体验.
  • 兼容 Lua 5.1, 5.2 和 5.3+

同时,z.lua 也有一系列,让你可以定制命令名称,跟踪目录黑名单,以及如何从 autojump / z.sh 导入数据。

 

z.lua 使用案例

案例 1:

假设你有一条 /a/b/c/foo/bar 的路径,你想在命令行下快速切换过去,使用 z.lua,你想去 bar 目录的话只需要简单输入:

z foo bar

所有关键字都是按顺序匹配,上面的例子可以匹配到 foo/bar ,但无法匹配 bar/foo !

案例 2:

我们来看一个我电脑里的实际案例,我系统里有一条路径:

/home/logix/Stuff/Unity3d/unity2d_platformer/Assets/Art

这条路径很长,终端下想要切换过去的话需要费一些时间(即便你有 Tab 补全)。但只要我去过一次该路径(z.lua 就会跟踪到),我就可以使用 z.lua 直接一步进入 Art 目录:

z art

这条命令非常短,因为我没有去过其他同样名为 Art 的路径。如果我有很多个同样名为 Art 的目录,我可以多加一些关键字去到特定目录:

z assets art

你在 项目文档中可以看到更多例子,比如如何 cd 到最高 rank 的目录,如果去到刚刚访问过的目录,如果列出备选项(而不是切换路径)等等。

 

安装 z.lua

要使用 z.lua 的话,你需要先安装 Lua:

  • Debian, Ubuntu, Linux Mint, elementary OS, 或者其他基于 Debian 或 Ubuntu-based 的 Linux 发行版:
sudo apt install lua5.2
  • Fedora:
sudo dnf install lua

其他 Linux 系统的话,你应该可以在系统包管理软件中安装 lua,或者直接下载 Lua 源代码按照文档编译。

现在你可以下载最新的 z.lua ,解压,并按照按照对你对应的 shell (bash, zsh, fish, power shell, windows cmd, ...)上。

以 Bash 为例的话,可以把 z.lua 解压为 ~/.local/opt/z.lua 目录,然后将下面语句添加到你的 ~/.bashrc 文件中:

  • 使用默认匹配算法:
eval "$(lua ~/.local/opt/z.lua/z.lua --init bash)"
  • 使用增强匹配算法:
eval "$(lua ~/.local/opt/z.lua/z.lua --init bash enhanced once)"

保存更改到 ~/.bashrc,重新打开一个新的终端以后,你就可以使用 z.lua 了,记得简单的 cd 跳转一下,z.lua 需要学习你去过的地方。

转载地址:http://grlfm.baihongyu.com/

你可能感兴趣的文章
JAVA之旅(三十三)——TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录...
查看>>
Linux 之归档与压缩
查看>>
擦亮双眼,愚人节彩蛋回顾
查看>>
RDS全量物理备份谁才能读
查看>>
微软专家推荐11个Chrome 插件
查看>>
阿里数据库内核月报:2017年06月
查看>>
【案例】slave_net_timeout 问题一则
查看>>
根据搜索引擎网页去重原理来做seo
查看>>
Linux 系统挂载数据盘
查看>>
bootstrap 非原生checkbox 导致上级tr 点击两次的问题 真tm坑 研究了好久
查看>>
SQL SERVER 中is null 和 is not null 将会导致索引失效吗?
查看>>
CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
查看>>
HDOJ 2045 不容易系列之(3)—— LELE的RPG难题
查看>>
Mysql学习笔记(八)索引
查看>>
初探Java8中的HashMap(转)
查看>>
第一章(2)——预估和实际执行计划
查看>>
0324alter system checkpoing会写脏块吗
查看>>
使用GDB进行嵌入式远程调试
查看>>
文件剪切的sh脚本实现
查看>>
我的Android进阶之旅------>Android中Dialog系统样式讲解
查看>>