网站搜索

Goto - 通过自动完成支持快速导航到别名目录


在最近的一篇文章中,我们讨论了 Gogo——一个在 Linux shell 中为长路径创建快捷方式的工具。虽然 gogo 是在 shell 中为您最喜爱的目录添加书签的好方法,但是它有一个主要限制:它缺乏自动完成功能。

由于上述原因,我们全力以赴寻找一个具有自动完成支持的类似实用程序 - shell 可以提示可用别名(长而复杂路径的快捷方式)的建议,幸运的是,在爬遍 Github 后,我们发现了 Goto

Goto 是一个 shell 实用程序,可快速导航到别名目录,并支持自动完成。它带有一个很好的自动完成脚本,因此一旦您在 goto 命令后按 tab 键或输入现有别名的一些字符后,bash 或 zsh 就会提示分别提供别名建议或自动完成名称。

Goto 还具有用于取消注册别名、扩展别名的值以及清理已删除目录的别名的附加选项。请注意,goto 的自动完成功能仅适用于别名;它与命令或文件名的 shell 自动完成是分开的。

如何在Linux系统中安装和使用Goto

要安装 Goto,首先从 Github 克隆 goto 存储库并移至本地存储库目录,然后使用 sudo 命令以 root 用户权限运行安装 shell 脚本,如下所示。

cd Downloads/
git clone https://github.com/iridakos/goto.git
cd goto
ls
sudo ./install

这将在 /usr/local/share/goto.sh 中安装 goto,并在 ~/.bashrc 中添加一行(对于 Bash)或 ~/.zshrc(对于 Zsh)shell 启动文件,以获取它。

现在重新启动终端以开始使用goto。要为目录创建别名,请使用 -r 标志注册别名,如下所示。

goto -r march ~/Documents/linux-console.net-Articles/March/

要为当前目录添加别名,请使用此语法,它将自动为整个路径添加别名。

goto -r home . 

当您输入goto并按tab键时,它将显示所有注册的别名,当您输入注册别名的几个字母时,goto将自动完成名称。但是,要查看当前注册的别名的列表,请使用 -l 标志。

goto -l

使用以下命令将别名扩展为其值。

goto -x scripts
goto -x march

Goto 还允许您使用 -u 选项取消注册别名。

goto -l
goto -u march
goto -l

如果您删除了别名目录(例如,如果您从文件系统),但它们在 goto 中仍然有别名,您可以使用 -c 标志从 goto 中清除所有这些别名。

goto -c

goto 的一个重要限制是它不允许访问别名目录下的子目录,这是 Gogo 中的一项功能。

有关详细信息,请参阅带有 -h 选项的 goto 帮助消息。

goto -h

转到 Github 存储库:https://github.com/iridakos/goto

Goto 是一种在 Linux 中为您最喜爱的目录添加书签的强大方法,并具有自动完成支持。如上所述,与 Gogo 相比,它具有更多有用的功能。尝试一下,并通过下面的反馈表与我们分享您的想法。