z.lua – 更改目录的更快方法(使用时学习的 cd 命令)

[ad_1]

z.lua 是一个新工具,可帮助您从命令行更快地导航文件系统,根据“频率”跟踪您最常用的目录。

首先,该工具会学习您最常用的目录,然后使用基于“频率”(基于目录的最近访问时间和访问频率)的算法对目录进行排名,只需键入一个即可轻松导航到某些目录他们的道路上的几个字母。 不要指望 z.lua 立即工作,它需要一些时间来创建一个包含频繁和最近目录的数据库。

虽然还有其他类似的工具,但开发人员声称 z.lua 要快得多。 例如,
z.lua 应该比 fasd 和 autojump 快 10 倍,比 z.sh 快 3 倍。

更重要的是,z.lua 包括
两种匹配算法
. 默认匹配算法类似于 z.sh 使用的算法,其中路径必须按顺序匹配所有正则表达式。 还有一种增强的匹配算法,其中查询必须按顺序匹配路径,就像默认方法一样,最后一个查询必须匹配路径的最后一段; 如果未找到匹配项,则使用默认匹配项。 两者都在 z.lua 项目页面上进行了详细解释。

z.lua 特点:

  • 比 fasd 和 autojump 快 10 倍,比 z.sh 快 3 倍。
  • 可以用来: bash、zsh、dash、sh、ash、ksh、busybox、Fish Shell、Power Shell 和 Windows cmd。
  • 2 目录匹配算法。
  • 仅在以下情况下才允许更新数据库 $PWD 更改为 $_ZL_ADD_ONCE 设置 1.
  • 交互式选择使您可以选择之前要去的地方 cd (当找到多个匹配项时,使用 z -i 显示匹配目录的列表)
  • 与 fzf(可选)集成以进行交互式选择和完成。
  • 快速返回父目录而不是键入 cd ../../..
  • 在不同的 shell 和操作系统中的类似经验。
  • 与 Lua 5.1、5.2 和 5.3+ 兼容

z.lua 还带有一些选项,可让您更改命令,从匹配中排除目录,甚至可以从 z.sh 或自动跳转导入数据。

z.lua 示例

示例 1。

假设您有一条很长的路,例如
/a/b/c/foo/bar

,并且您想从命令行导航到它。 使用 z.sh,您只需键入以下内容即可直接导航到 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

您可以在 z.lua 项目页面上看到更多使用示例,包括如何
cd

到排名最高的目录,最近访问的目录,列出匹配项而不是
cd

, 和更多。

安装 z.lua

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

  • Debian、Ubuntu、Linux Mint、elementary OS 和其他基于 Debian 或 Ubuntu 的 Linux 发行版:
sudo apt install lua5.2

  • Fedora:
sudo dnf install lua

在其他 Linux 发行版上,您应该在存储库中找到 Lua。

现在您可以下载最新的 z.lua 版本,将其解压缩,然后使用安装说明为您的 shell(Bash、Zsh、Fish、Power Shell、Windows cmd 等)安装它。

例如,如果您使用 Bash,请将 z.lua 发布存档解压缩到
~/.z.lua

系统上的文件夹,然后将其添加到您的
~/.bashrc

文件:

  • 使用默认匹配方法:
eval "$(lua ~/.z.lua/z.lua --init bash)"

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

保存您所做的更改后
~/.bashrc

,打开一个新终端或获取它:

. ~/.bashrc

现在您已准备好使用 z.lua,但请记住,它必须创建一个数据库来确定您要导航到哪个目录。

[ad_2]

Related Posts