1 个不稳定版本
0.1.0 | 2022年4月11日 |
---|
#6 在 #teleport 中
7KB
108 行
Teleport Dir
简单的 Rust 命令,用于导航到符号链接文件的原始目录。
入门
目前此包仅支持 zsh Shell 集成。
安装
步骤 1:从 cargo.io 安装包
使用 cargo 安装 Rust 包。
cargo install teleport-dir
步骤 2:添加到您的 ZSH 配置文件
将以下代码添加到您的 .zshrc
文件中,或添加到您的函数搜索路径中的另一个文件 ($fpath
)。
eval "$(teleport-dir init)"
这将添加 td
函数。您也可以通过传递 --cmd
标志来给函数起任何其他名称。
以下是一个示例,其中函数将以 symdir
的形式可用。
eval "$(teleport-dir init --symdir)"
用法
例如,假设您使用 laravel/valet
或 brew
管理多个 PHP 版本,并且需要位于当前链接的 PHP 版本的目录中。
您可以通过(例如)执行以下命令来实现。
cd $(readlink -f /usr/local/bin/php)/../
这可能会有些繁琐,或者可能难以记住,因此您可以使用
td /usr/local/bin/php
该命令检查路径是否为符号链接,解析原始路径,如果该原始路径是文件,则 cd
到文件的目录。如果路径已经是目录,则直接 cd
到该目录。
例如,当您使用 HomeBrew 链接 php@8.0
时,以下所有命令都将等同于 cd /usr/local/Cellar/php@8.0/8.0.17/bin/
td /usr/local/bin/php
td /usr/local/Cellar/[email protected]/8.0.17/bin/php
td /usr/local/Cellar/[email protected]/8.0.17/bin/
致谢
这个项目主要是我在尝试学习 Rust 时的一个练习,我从我使用的或做类似事情的其他 crate 中学到了很多。当试图解决无法从 Rust 命令更改主 Shell 中的目录的问题时,我从查看 zoxide 中获得了很多(或大多数)想法。
许可证
此作曲家包是一个开源软件,遵循MIT许可证授权。
依赖项
约4.5MB
约92K SLoC